C++ 链接的可执行文件中的静态库中缺少符号
我有一个问题,链接的可执行文件中缺少静态库符号。 以下是我的问题描述: 我有从几个对象文件构建的静态库。这些对象文件提供了七组符号,这些符号与:C++ 链接的可执行文件中的静态库中缺少符号,c++,linker,g++,C++,Linker,G++,我有一个问题,链接的可执行文件中缺少静态库符号。 以下是我的问题描述: 我有从几个对象文件构建的静态库。这些对象文件提供了七组符号,这些符号与: 一组C函数和结构(几个对象文件)。让我们将相应的符号称为level1符号 一组C++函数类,用于C函数和结构(另一个对象文件)。让我们将相应的符号称为level2符号 一组C++扩展包类,继承了2级类(另一个对象文件),具有扩展功能。让我们将相应的符号称为3级符号 Underground C代码使用其他几个项目和外部库。其中一些是静态的,所以目前这个库
lib_name-我们正在讨论的库的名称 /usr/bin/c++-符号链接到g++v4.4可执行文件
/usr/bin/c++-Wextra-g-fPIC CMakeFiles/exec_dir.dir/main.cpp.o CMakeFiles/exec_dir.dir/options.cpp.o CMakeFiles/exec_dir.dir/runtime.cpp.o CMakeFiles/exec_dir.dir/main.cpp.o CMakeFiles/CServer.cpp.o-o-o exec_name-rdynamic../lib/???/lib../../lib/???/??/lib???.a../../../lib???/lib???.a../../lib/???/lib???.a-ldl-lboost\u文件系统-lboost\u信号-lboost\u系统-lboost\u线程../../lib/???/lib/?/lib线程../../usr/local ssl/lib64/libcrypto.so-ldl-luuid-lodbc../lib/log/lib???.so../lib/config/lib-a-lpthread/.a-rpath,/home/beduin/???/build/deb/???/lib/???:/home/beduin/???/build/deb/lib/???:/usr/local/ssl/lib64使用
-rdynamic-Wl,-整个归档-Wl,-没有完整的归档文件
-您的一个LIB不在-完整的归档文件
-完整的归档文件和-rdynamic是解决这个问题的方法-您能显示生成可执行文件的命令行吗?我已经在问题中添加了comamndline。请尝试-rdynamic-Wl,-完整的归档文件-Wl,-没有完整的存档
-看起来您的某个库不在其中--整个存档工作正常!谢谢你的帮助!我是StackOverflow的新手,有什么办法可以扩大你的声誉吗?那么,我怎样才能通过再次修改我的帖子来标记正确的答案呢?@beduin:我会发布一个答案-然后你可以接受我的建议:解释为什么-整个归档文件会有帮助。类似Stackexchange的网站不仅仅为发布问题的人提供可用的资源。一般来说,除了发布原始问题的个人之外,我看不到有多少一行回答对任何人都有帮助。整个档案是否会转储标记为隐藏的符号?我的可执行文件在添加这个时跳了不少。