[SFML + C++/CLI] Błędy linkera.
Ostatnio zmodyfikowano 2011-10-05 23:30
akwes Temat założony przez niniejszego użytkownika |
[SFML + C++/CLI] Błędy linkera. » 2011-10-05 18:03:57 Witam! Windows 7 64bit, Visual C++ Express 2008, SFML 1.6 dla C++ i SFML.DOT, File->New->Project, CLR->Windows Forms Application, Kod: private: System::Void Form1_Load( System::Object ^ sender, System::EventArgs ^ e ) { Form2 = gcnew Tree(); Form2->Show(); sf::RenderWindow okno( sf::VideoMode( 800, 600, 32 ), "Wizzard" ); }
Kompilator: 1>F:\Visual Proj\WizzMapEditor\Debug\MapEditor.exe : fatal error LNK1120: 6 unresolved externals 1>MapEditor - 7 error(s), 394 warning(s)
Warrnings są pokroju tego: 1>F:\Programy\!Biblioteki\SFML-1.6\include\SFML/Graphics/String.hpp(186) : warning C4272: 'sf::String::~String' : is marked __declspec(dllimport); must specify native calling convention when importing a function.
Errors są pokroju tego: 1>MapEditor.obj : error LNK2028: unresolved token (0A00001B) "public: __clrcall sf::RenderWindow::RenderWindow(class sf::VideoMode,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned long,struct sf::WindowSettings const &)" (??0RenderWindow@sf@@$$FQAM@VVideoMode@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@KABUWindowSettings@1@@Z) referenced in function "private: void __clrcall WizzMapEditor::Form1::Form1_Load(class System::Object ^,class System::EventArgs ^)" (?Form1_Load@Form1@WizzMapEditor@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z)
Problem: SFML działa normalnie w Project->General->Empty Project, nie ma błędów linkera, wszystko ładnie się kompiluje. Chciałem przy tworzeniu edytora map skorzystać z dobrodziejstw RAD oferowanego przez Visual`a. W wersji SFML.DOT są tylko *.dll, brak jest includów i libów. Powinno dać się korzystać z SFML C++ ale... no właśnie, linker odmawia posłuszeństwa. Ktoś wie w czym może być problem? Ktoś wie gdzie problemu szukać? |
|
akwes Temat założony przez niniejszego użytkownika |
» 2011-10-05 23:30:55 Hm... Dobra kolejny temat widmo :P Już mi działa... Lista kroków. 1. Otworzenie pustego projektu C++, 2. Zwykłe ustawienie SFML dla C++, 3. Dodanie okna przez PPM -> Add item... -> New Item, UI->Windows Form, 4. W opcjach projektu dodać wsparcie CLI 5. ... 6. Profit! Kod do pliku głównego, aby aplikacja w miarę działała sensownie. #include <SFML/Graphics.hpp> #include <iostream>
#include "fakwindow.h"
[ STAThreadAttribute ] int main( array < System::String ^> ^ args ) { Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault( false ); sf::RenderWindow oknoAplikacji( sf::VideoMode( 800, 600, 32 ), "Okno?" ); Application::Run( gcnew fucktest2::fakwindow() ); return 0; }
Co nie zmienia faktu że jak wejdę przez "File->New->Project, CLR->Windows Forms Application" to jest 300 warrningów i błędy linkera. |
|
« 1 » |