"library has no symbol"是什么意思?
What does "library has no symbol" mean?
我正在使用CMake来构建我的项目所需的一些依赖项库。它们是Boost_system、Boost_filesystem和Boost_program_options。我正在单独编译静态库,而不是编译整个 Boost 库。
一切正常,但我收到以下警告消息:
...
[ 67%] Building CXX object filesystem/CMakeFiles/filesystem.dir/src/utf8_codecvt_facet.cpp.o
[ 70%] Building CXX object filesystem/CMakeFiles/filesystem.dir/src/windows_file_codecvt.cpp.o
[ 74%] Linking CXX static library libfilesystem.a
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libfilesystem.a(windows_file_codecvt.cpp.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libfilesystem.a(windows_file_codecvt.cpp.o) has no symbols
[ 74%] Built target filesystem
[ 77%] Building CXX object CMakeFiles/canalogsmp.dir/src/Array2D.cpp.o
...
我的问题是:
- 符号是什么?警告消息是什么意思?
- 如何摆脱此警告消息?
感谢nakiya,我找到了答案。
因此,警告消息的解释在这里。基本上,ranlib
找不到任何操作代码。但就我而言,我只需要忽略警告。
此处提供了解决方案,也粘贴在下面。确保将标志传递给ranlib
而不是编译器本身。
SET(CMAKE_C_ARCHIVE_FINISH "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
SET(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
相关文章:
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 线应该是什么意思
- "CID"在AT+HTTPPARA= "CID" ,1中是什么意思
- 表达式"b=(b-x)&x"是什么意思?
- 这个表达是什么意思?
- 此代码验证公式是什么意思?
- 跟踪日志中的T.11803()是什么意思?
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- * 和 ** 在 C++ 函数声明中是什么意思?
- _T("xyz")是什么意思?
- #define Dbg(fmt,..) (0) 是什么意思? 警告:表达式无效
- 这行代码到底是什么意思?
- 当我们说在执行程序时将操作系统的控制权传递给main()函数时,我们的意思是什么
- 这句话在c++中的意思是什么
- 这个typedef的意思是什么
- 这句话的意思是什么
- 意思是什么
- 这个句法的意思是什么?