2017-05-04 8 views
0

私はqt5アプリケーション用にWindowsビルドを準備していますが、静的ライブラリ.libの読み込みに問題があります。 私のアプリケーションは3dエンジンを使用していて、もともとLinux(gcc + cmake)上にビルドされていましたが、今はmsvc + cmakeを使用しようとしています。 3dエンジンの静的なlibはengined.libと呼ばれます。ライブラリをロードするために、私はそのような何か:Windows上でCmakeを実行してスタティックライブラリをロード

SET(CMAKE_FIND_LIBRARY_PREFIXES "") 
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".dll") 
find_library(engine NAMES engined PATHS path_to_lib) 
target_link_libraries(${PROJECT_NAME} 
    Qt5::Widgets 
    Qt5::OpenGL 
    Qt5::Xml 
    engine) 

をしかし、プロセスのコンパイル時に私のCPPファイルの例についてerrosがあり、私は、ヘッダーをロードしています:

#include "engine/Engine.h" 

しかし、MSVCは表示されません.Hファイルと私はエラーがあります。私は何か間違っている?

答えて

0

ライブラリとリンクしていますが、エンジンのヘッダーが見つかるようにCMakeを設定する必要があります。これを行う1つの方法は、キャッシュ変数を介してヘッダの場所を設定することです:

# CMakeLists.txt 
set(ENGINE_INCLUDE_DIR "" CACHE PATH "Include directory") 
target_include_directories(engine PRIVATE ${ENGINE_INCLUDE_DIR}) 

そして、あなたのビルドディレクトリを設定するときに変数を設定します。

cmake -DENGINE_INCLUDE_DIR=/path/to/include/dir /path/to/project 
関連する問題