我正在使用ubuntu,并且正在开发一个使用OpenSSL的C++库。使用不同版本的OpenSSL
所以,我用来开发代码的PC有2010年的OpenSSL版本。我创建了lib,用一个简单的测试程序编译它,然后成功执行它。
然后,当我在其他PC(拥有最新的OpenSSL版本 - 2012年5月)测试lib时,我成功地编译了简单的测试程序,但是当我执行它时它们崩溃。
我“解决了”从2010年开始更新OpenSSL版本到最后一个版本的问题,但将来有可能再次出现此问题,如果有人将该库与最近的OpenSSL版本一起使用。
所以,我想知道是否有可能,例如,使用OpenSSL必要的文件创建lib,以便代码执行,而不考虑编译lib的PC的OpenSSL版本简单的测试程序。为了创建我的库,我编译我的文件到.obj文件(例如:g ++ -c fileA.c -o fileA.o),然后创建一个libABC.a文件(ar rcs libABC.a filaA .o fileB.o ...)。 我只用“-lssl”编译选项,我的图书馆与其余代码链接,例如:G ++ simpleCode.o libABC.a -o测试-lssl
最好的问候, 塞尔吉奥
您可以使用-static进行编译,但会增加可执行文件的大小 –