Ich habe ein Projekt in Premake eingerichtet, das aus einem SharedLib
und einem ConsoleApp
besteht, das mit dem SharedLib
verknüpft. Darüber hinaus ist die SharedLib
Links zu den SFML Binärdateien.
ich Setup erfolgreich vor:
- Ein Premake Projekt, das ein ConsoleApp
und SharedLib
es
Links enthält - Ein Premake Projekt, das ein ConsoleApp
enthält, die einfach gewohnt in denen trainiert sowohl die SFML Binärdateien
Aber die Kombination von Links release
buildPremake generierte Lösung kompiliert nicht in Release, kompiliert aber in Debug
Hier ist die Ausgabe, die MSVC 2012 produziert:
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 ==========
die Ordnerstruktur meiner Premake Projekt:
SFML_PROJECT
|-- .libraries
| `-- SFML-2.3.2-Win32
| |-- include
| |-- lib
| `-- bin
|-- example
| `-- main.cpp
|-- include
| |-- App.h
| `-- Config.h
|-- src
| `-- App.cpp
`-- premake5.lua
Und mein premake5.lua
(Es tut mir leid für die ziemlich große Datei, aber wenn ich es verkürzen würde ich vielleicht etwas Wichtiges verpassen)
Zu meiner Release Config des ConsoleApp
zusammenfassen:
- I die SFML include
hinzugefügt - ich verbinde mit dem SharedLib
Projekt, das auf die SFML Binärdateien Links