2012-01-18 9 views
0

私はcmakeをtutorialで覚えようとしています。ステップ2では、ライブラリの作成を通してユーザーを指導します。 Visual Studioは、プロセスで作成されたMathFunctions.libを見つけることができないようです。それは本当に存在しますが、デバッグフォルダーにあります。これは、クロスプラットフォームの意図と愚かなソリューションと矛盾するように思えるなぜ私のプロジェクトがcmakeから生成されていないのですか?

include_directories("${PROJECT_SOURCE_DIR}/MathFunctions/Debug") 
include_directories("${PROJECT_SOURCE_DIR}/MathFunctions/Release") 

次のようなステートメントを追加することなく、ライブラリが発見されたことを確認するが、一般的な方法です。

答えて

0

チュートリアルの作者は少し後退します。彼らはMathFunctions.hmysqrt.cxxの出所を示していません。 UNIXではなく、Windowsでは、ライブラリからエクスポートまたはインポートされたすべての関数に明示的にマークを付ける必要があります。 http://msdn.microsoft.com/en-us/library/3y1sfaz2.aspxを参照してください(残念ながら私は指導するための良いチュートリアルはありません)。

シンボルをエクスポート/インポートしていない場合、リンカは関数を解決できず、正しく生成されたcmakeプロジェクトにもかかわらずビルドに失敗します。

関連する問題