我正在嘗試將Qt,OpenCV和FlyCapture2庫編譯爲Windows 8目標系統的可執行文件。我運行Ubuntu 14.04。不幸的是,FlyCapture2 SDK只提供共享庫,所以我無法靜態編譯這些。當靜態庫不可用時,是否可以從Linux進行交叉編譯?
對我來說,簡單地將庫包含在與可執行文件相同的目錄中,但看到我在Linux上構建項目的方式(使用Qt Creator)我不確定如何適當地鏈接到Windows目標系統。這是我當前的.pro文件:
CONFIG+=static
INCLUDEPATH += /usr/local/include/
LIBS += -L/usr/local/lib -static -lopencv_core -lopencv_imgcodecs -lopencv_highgui -lopencv_videoio -lopencv_imgproc
LIBS += -L/usr/lib -lflycapture -lflycapture-c -lflycapturegui
## Is it possible to link to a .dll for windows here?
是否可以鏈接到Windows目標系統的.dll文件?有沒有解決這個問題,我沒有看到?這是我第一次嘗試交叉編譯。感謝您的幫助,謝謝。
因此,編譯器將首先在my_current_solib_path中搜索將在Linux上運行的庫,然後在Windows上它不會找到此路徑,因此在目錄中查找庫?那是對的嗎? – user2790954
我對你的意思感到困惑,如果你能找到.so,你可以將它添加到linux/usr/lib中,這樣linux編譯器會首先搜索.so。另一種方法是將你的.so路徑添加到/etc/ld.config這與f way的方式具有相同的結果。 –
這是如何幫助我在Windows上運行我的程序的? – user2790954