我正在开发 ubuntu,我正在开发一个使用 OpenSSL 的 C++ 库。
所以,我用来开发代码的PC有一个2010的OpenSSL版本。我创建了lib,用一个简单的测试程序编译它,我成功地执行了它。
然后,当我在其他 PC(具有最新的 OpenSSL 版本 - 2012 年 5 月)中测试 lib 时,我成功编译了简单的测试程序,但是当我执行它时它们崩溃了。
我“解决”了将 OpenSSL 版本从 2010 更新到最新版本的问题,但将来如果有人将 lib 与最近的 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 Test -lssl
最好的问候,塞尔吉奥