2016-04-15 16 views
1

SharedLibにリンクするSharedLibConsoleAppで構成されるプロジェクトをPremakeに設定しました。さらにSharedLibSFMLバイナリにリンクしています。
私は正常にセットアップが前に:
は - ConsoleApp、それは
にリンクSharedLib含まpremakeプロジェクト - SFMLバイナリ
しかし、両方を組み合わせるにリンクConsoleAppが含まれているpremakeプロジェクトをただ文句を言わないでワークアウトreleaseビルドここ Releaseでコンパイルされたソリューションはデバッグではコンパイルされません。

はMSVC 2012が生成する出力です:

2> main.cpp 
2>main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall sf::RenderWindow::RenderWindow(void)" ([email protected]@@[email protected]) referenced in function _main 
2>main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall sf::RenderWindow::~RenderWindow(void)" ([email protected]@@[email protected]) referenced in function _main 
2>..\..\.bin\Example\Release\Example.exe : fatal error LNK1120: 2 unresolved externals 
========== Build: 1 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 

私premakeプロジェクトのフォルダ構造:

SFML_PROJECT 
|-- .libraries 
| `-- SFML-2.3.2-Win32 
|  |-- include 
|  |-- lib 
|  `-- bin 
|-- example 
| `-- main.cpp 
|-- include 
| |-- App.h 
| `-- Config.h 
|-- src 
| `-- App.cpp 
`-- premake5.lua 

そして、私のpremake5.lua(私はかなり大きなファイルのため申し訳ありませんが、私はそれを短くたい場合、私は重要な何かを逃すかもしれない)

ConsoleAppの私の解放の設定を要約すると:
- I SFML include
を追加 - 私はちょうど空の短所を追加SFMLバイナリ

答えて

0

にリンクSharedLibプロジェクトにリンクtructorとデストラクタApp.h/App.cppで、今のために働くようだ...

私がもしdllの一部としてではなくApp.h/App.cppを使用している場合、それらを定義する必要がある理由誰かが私を説明することができれば、私は本当に感謝私はExecutableの一部としてそれらを直接使用します。

関連する問題