Предварительно созданное решение не будет компилироваться в Release, но компилируется в Debug

У меня есть проект, созданный в Premake который состоит из SharedLib и ConsoleApp что связано с этим SharedLib, Кроме того, SharedLib ссылки на SFML двоичные файлы.
Я успешно настроил раньше:
— Предварительный проект, который содержит ConsoleApp и SharedLib это ссылки на
— Предварительный проект, который содержит ConsoleApp который ссылается на двоичные файлы SFML
Но объединение обоих просто не получится в releaseстроить

Вот вывод, который производит MSVC 2012:

2>  main.cpp
2>main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall sf::RenderWindow::RenderWindow(void)" (__imp_??0RenderWindow@sf@@QAE@XZ) referenced in function _main
2>main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall sf::RenderWindow::~RenderWindow(void)" (__imp_??1RenderWindow@sf@@UAE@XZ) 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 ==========

Структура папок моего предварительного проекта:

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:
— Я добавил SFML include
— Я ссылаюсь на SharedLib Проект, который ссылается на двоичные файлы SFML

1

Решение

Я просто добавил пустой конструктор и деструктор в App.h/App.cpp и, кажется, работает на данный момент …

Я был бы очень признателен, если бы кто-то мог объяснить мне, почему я должен определить их, если я использую App.h/App.cpp как часть dll но не, если я использую их непосредственно как часть Executable,

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]