<solved> Compiling error -leay32 -lssleay32
-
Any guideline on which to install and how? There are thousands, and its not specified if its either 32 or 64 bits, or how to install them...
https://www.openssl.org/source/ -
Follow the link for windows "here":https://www.openssl.org/related/binaries.html
-
Wow, thanks for your help on that one!
So, i have managed to succesfully install openssl, I have checked on C:\OpenSSL-Win32\lib I have both libeay32.lib and ssleay32.lib. I have also added
@LIBS+= -LC:/OpenSSL-Win32/libs@
to my PRO file, but im still having the same errors... Do I have to manually copy the libraries and place them on the project directory? What am i missing?
-
Are you building your application in 32 or 64 bit ?
-
32 bit. What im trying to build, for a long time now, is the kiax2 softphone, which can be downloaded at this link
http://sourceforge.net/p/kiax/code/HEAD/tree/trunk/
I had to edit some parts, and install a 4.4 version of Qt in order for them to be compatible, and now im stuck with this error, the -leay32 -lssleay32
-
Can you show your pro file ? What compiler are you using ?
-
@
template = app
CONFIG += qt
CORELIBDIR = ../kiax2core
INCLUDEPATH += $$CORELIBDIR $$CORELIBDIR/includes $$CORELIBDIR/includes/json $$CORELIBDIR/dottelutilsset USEWEBKIT to true if you want to link to webkit shared library
USEWEBKIT = false
win32 {
LIBSDIR += $$CORELIBDIR/libs-windowsLIBS+= -LC:/OpenSSL-Win32/libs
LIBS += $$LIBSDIR/iaxclient.dll $$LIBSDIR/sqlite3.dll $$CORELIBDIR/release/libkiax2core.a $$LIBSDIR/libjson.a $$LIBSDIR/libcurl-4.dll -leay32 -lssleay32
DEFINES += WIN32DEP
}KIAXOPT += dottel
contains( KIAXOPT, dottel ): {
message("Enabling dottel support..")
DEFINES += USE_DOTTEL
HEADERS += Kiax2DotTelDialog.h
../kiax2core/dottelutils/dottelutils.h
../kiax2core/dottelutils/CppDotTelutils.h
SOURCES += Kiax2DotTelDialog.cppFORMS += dotteldialog.ui
INCLUDEPATH += voip/ldns-1.4.0
# linux-g++ { # LIBS += $$LIBSDIR/libldns.a -lcrypto # } win32 { LIBS += $$LIBSDIR/libldns.a -lwsock32 -liphlpapi }
}
comment if you don't have hold() in your iaxclient
DEFINES += IAXCLIENT_HOLD_HACK
QT += network
contains( KIAXOPT, webforms ): {
message("Using Webforms + WebKit..")
QT += webkit
DEFINES += USE_WEBFORMS
HEADERS += Kiax2ChangePassDialog.cpp
Kiax2RegisterDialog.h
SOURCES += Kiax2ChangePassDialog.cpp
Kiax2RegisterDialog.cpp
}contains( KIAXOPT, webfeed ): {
message("Using Webfeed + WebKit..")
QT += webkit
DEFINES += USE_WEBFEED
}FORMS += kiax2windowAlt.ui
accountdialog.ui
aboutdialog.ui
calldialog.ui
contactdialog.ui
contactlistitemwidget.ui
settingsdialog.ui
registerdialog.ui
loginscreen.uiHEADERS += Kiax2MainWindow.h
Kiax2AboutDialog.h
Kiax2AccountDialog.h
Kiax2CallDialog.h
Kiax2ContactDialog.h
Kiax2ListWidgetItem.h
Kiax2ContactListItemWidget.h
Kiax2SettingsDialog.h
IAX2CallbackHandlerQt.h
Kiax2ConnectionMeter.h
Kiax2JSONBalance.h
Kiax2LoginScreen.h
Kiax2Application.h
Kiax2JSONUsersOnline.h
kiax2JSONNotification.h
Kiax2JSONServers.h
Kiax2DispatcherServer.h
Kiax2DispatcherThread.h
Kiax2Servers.h
Kiax2JSONSupernode.h
Kiax2CallAppearance.h
Kiax2CallDialogView.h
Kiax2CallButton.h
../kiax2core/PConfiguration.hSOURCES += Kiax2MainWindow.cpp
Kiax2AboutDialog.cpp
Kiax2AccountDialog.cpp
Kiax2CallDialog.cpp
Kiax2ContactDialog.cpp
Kiax2ListWidgetItem.cpp
Kiax2ContactListItemWidget.cpp
Kiax2SettingsDialog.cpp
IAX2CallbackHandlerQt.cpp
Kiax2ConnectionMeter.cpp
Kiax2JSONBalance.cpp
Kiax2LoginScreen.cpp
Kiax2Application.cpp
Kiax2JSONUsersOnline.cpp
Kiax2JSONNotification.cpp
Kiax2JSONServers.cpp
Kiax2DispatcherServer.cpp
Kiax2DispatcherThread.cpp
Kiax2Servers.cpp
Kiax2JSONSupernode.cpp
Kiax2CallAppearance.cpp
Kiax2CallDialogView.cpp
Kiax2CallButton.cppRC_FILE = kiax2.rc
TRANSLATIONS = kiax2_fr.ts
kiax2_de.ts
kiax2_es.tsbuild_all:!build_pass {
CONFIG -= build_all
CONFIG += release windows
}install
target.path = .
sources.files = $$SOURCES $$HEADERS $$FORMS *.pro
sources.path = .
INSTALLS += target
@Im using a custom kit, with minGW 4.8.2 32bit and Qt version 4.8.6
Qt creator 3.2.1 -
Strange, it looks fine, did you check that the lib files can indeed be found in C:/OpenSSL-Win32/libs ?
Another thing, why are you trying to link against these libs ? They are not used directly by kiax2core
-
First of all, I have to appologize, I just followed your instruction without paying a lot of atention, my bad. The folder
@
LIBS+= -LC:/OpenSSL-Win32/libs
@doesnt exist, its actually
@
LIBS+= -LC:/OpenSSL-Win32/lib
@Stupid mistake, but well, i should have realized.
Nevertheless, it still doesnt work (but im closer)Now i Have only one error, instead of 2, I still have the "cannot find -leay32" (the lssleay32 was fixed!). I dont know exactly what library that one is. Im going to list everything looking "similar" that I can find on my OpenSSL-Win 32 folder.
On C:\OpenSSL-Win32 i have:
libeay32.dll
libssl32.dll
ssleay32.dllOn C:\OpenSSL-Win32\lib i have:
libeay32.lib
ssleay32.libOn C:\OpenSSL-Win32\lib\MinGW I have:
libeay32.a
libeay32.def
ssleay32.a
ssleay32.defOn C:\OpenSSL-Win32\lib\VC and on C:\OpenSSL-Win32\lib\VC\static I have:
libeay32MD.lib
libeay32MDd.lib
libeay32MT.lib
libeay32MTd.lib
ssleay32MD.lib
ssleay32MDd.lib
ssleay32MT.lib
ssleay32MTd.libOn C:\OpenSSL-Win32\exp I have:
libeay32.exp
ssleay32.expC:\OpenSSL-Win32\bin I have:
libeay32.dll
ssleay32.dllbq. Another thing, why are you trying to link against these libs ? They are not used directly by kiax2core
Im sorry, but i dont understand exaclty what you are asking here. The project as it is, was downloaded from internet, If i comment or exclude anything on the line
@LIBS += $$LIBSDIR/iaxclient.dll $$LIBSDIR/sqlite3.dll $$CORELIBDIR/release/libkiax2core.a $$LIBSDIR/libjson.a $$LIBSDIR/libcurl-4.dll -leay32 -lssleay32@
It will start giving hundreds of errors of the type
@undefined reference to 'function name'@
Im sorry im not giving much information, I know how to program, but I suck when linking/compiling errors start to appear, when they dont refer to the code itself, but im always open to learning new stuff :D
-
So since you are using MinGW use C:/OpenSSL-Win32/lib/MinGW
Don't worry, we're making progress ;)
-
Wow! Thanks for this awesome support. Ive never expected that someone would spend so much time trying to help me. I really appreciate it!
Well, Ive managed to remove that error. Ive got 28 new ones, but as far as im concerned, they seem to be about something else.
I changed
@LIBS+= -LC:/OpenSSL-Win32/lib@
with
@LIBS+= -LC:/OpenSSL-Win32/lib/MinGW@
to include the MinGW libraries, and this brought an unexpected error, now, I have the "cannot find -lssleay32"
So, if I use the lib folder, im missing -leay32, if I use the MinGW folder, im missing -lssleay32, so my common sense thought "Lets include both!"Ive managed to remove this error, now im having these missing functions
undefined reference to "json_tokener_parse"
undefined reference to "json_object_object_get"
undefined reference to "json_object_get_int"
undefined reference to "json_object_get_string"and one last weird error (that I suspect has nothing to do with this issue) that says:
bq. ./release\Kiax2JSONBalance.o: bad reloc addres 0x5 in section '.text$_ZN13TiXmlDocumentD1EV[__ZN13TiXmlDocumentD1Ev]
But as I said before, this seems to be something completly different. Im going to google what this json crap is, lets hope I can get this up and running. Im marking this thread as solved, as the -leay32 -lssleay32 errors have finally disappeared
Thanks for being patient with me, really apreciate it!