aktuell bin ich mit der Windowsportierung unserer Linux-Sourcen beschäftigt. Unter Windows nutze ich MSYS i.V.m. MinGW. Nun bin ich dabei ein CMake Skript für die Anbindung der DevIL Library zu schreiben. Hierfür habe ich das Original CMakeSkript um die Berücksichtiung der MinGW Installationspfade erweitert. Klappt auch soweit.
Ich habe die DevIL .lib und .a Files in meiner MinGW Instalaltion im lib-Verzeichnis, die dlls im bin Verzeichnis abgelegt. Mein Problem ist nun, dass CMake grundsätzlich die dll Dateien lokalisiert sobald ich find_library() aufrufe:
Code: Alles auswählen
-- OpenGL render API found.
-- Detected OpenGL path is : glu32;opengl32
-- Found DevIL includes at: C:/mingw/include/IL
-- Found DevIL library at: C:/mingw/bin/DevIL.dll
Code: Alles auswählen
Linking CXX executable DevILTest.exe
/C/binrev/development/mingw/bin/g++.exe "CMakeFiles/DevILTest.dir /winmain.cpp.obj" -o DevILTest.exe -Wl,--out-implib,libDevILTest.dll.a -Wl,--ma
32 -lopengl32 DevIL.dll -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32
CMakeFiles/DevILTest.dir/winmain.cpp.obj:winmain.cpp:(.text+0xcc8): undefined reference to `_imp__ilOriginFunc@4'
CMakeFiles/DevILTest.dir/winmain.cpp.obj:winmain.cpp:(.text+0xce0): undefined reference to `_imp__ilEnable@4'
CMakeFiles/DevILTest.dir/winmain.cpp.obj:winmain.cpp:(.text+0xcf9): undefined reference to `_imp__ilSetInteger@8'
Code: Alles auswählen
-- Detected OpenGL path is : glu32;opengl32
-- Found DevIL includes at: C:/mingw/include/IL
-- Found DevIL library at: C:/mingw/lib/DevIL.lib
Weiß zufällig jemand einen Rat? Ich habe keine Ahnung mehr was ich hier noch machen kann... Übrigens denke ich nicht, dass es daran liegt, dass ich vorkompilierte Libraries benutze denn wenn ich ohne CMake arbeite und die DevIL Libraries direkt beim Kompilieren mit angebe läufts sauber durch...
Gruß
Christian