2017-05-23 8 views
0

私は自分のプロジェクトに必要ないくつかの依存関係ライブラリを構築するために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 
... 

私の質問は次のようになります。

  • シンボルは何ですか?そして警告メッセージは何を意味しますか?
  • この警告メッセージを削除するにはどうすればよいですか?
+0

ありがとうございます。私はこれを閉じます。 –

答えて

0

nakiyaのおかげで、私は答えを見つけました。

警告メッセージの説明はhereです。

解決策はhereです。コンパイラ自体ではなく、フラグをranlibに渡すようにしてください。

関連する問題