我不希望最终用户必须安装库,因此,在我的exec中打包库是首选。
这是make文件中的相关行:
hPif : src/main.o src/fann_utils.o src/hashes.o src/Config.o
g++ -o hPif src/main.o src/fann_utils.o src/hashes.o src/Config.o -static -lfann -lboost -L/usr/local/lib
我正在尝试链接fann和boost,我在某处(http://www.adp-gmbh.ch/cpp/gcc/create_lib.html)阅读了使用-static标志允许的内容。
我做错了什么?
答案 0 :(得分:1)
-static标志是正确的,但您需要确保您的库是没有依赖项的静态库。如果它们被构建为共享(或具有共享依赖项),则gcc将不会静态链接它们(和/或您仍将具有库依赖项)。
您可能需要重建Boost库才能实现此目的。