【发布时间】:2014-09-09 12:01:03
【问题描述】:
我有一个 makefile 项目,其中包含几个不同的库。其中之一是我静态链接以使我的程序可移植的 boost 库。这就是我的 makefile 命令的样子:
g++ -O0 -g test.cpp testObject.o -pthread -I/home/user/devel/lmx-sdk-4.7.1/include/ -L/home/user/devel/lmx-sdk-4.7.1/linux_x64 -llmxclient -lrt -ldl -lboost_filesystem -lboost_system -static -static-libgcc -o $@
我还将 lmx-sdk 库链接到我的项目,以便使用许可功能;但是,似乎 lmx-sdk 似乎不喜欢静态链接,因为它给出了一个错误“在静态链接的应用程序中使用 'dlopen' 需要在运行时使用 glibc 版本中用于链接的共享库”。
如何才能静态链接一些库而动态链接其他库?
提前致谢
附:我检查了一些类似的主题,并尝试了一些对我不起作用的方法。
【问题讨论】:
标签: c++ makefile g++ static-linking dynamic-linking