当静态库不可用时,是否可以从 Linux 交叉编译 Windows
Is it possible to cross compile for Windows, from linux, when static libraries are not available?
我正在尝试将一个使用Qt,OpenCV和FlyCapture2库的项目编译成Windows 8目标系统的可执行文件。我正在运行 ubuntu 14.04。不幸的是,FlyCapture2 SDK仅提供共享库,因此我无法静态编译这些库。
对我来说,简单地将库包含在与可执行文件相同的目录中是可以的,但是看到我如何在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?有没有我看不到的这个问题的解决方案?这是我第一次尝试交叉编译。感谢您的帮助,谢谢。
你可以试试这个: 导出LD_LIBRARY_PATH= your_curreny_so_lib_path然后 做
您可以尝试如下内容:
LIBS += -Wl,--start-group
LIBS += -L/usr/local/lib -static -lopencv_core -lopencv_imgcodecs -lopencv_highgui -lopencv_videoio -lopencv_imgproc
LIBS += -L/usr/lib -lflycapture -lflycapture-c -lflycapturegui
LIBS += -Wl,--end-group
这可能对你有用。希望这有帮助。
相关文章:
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 在Linux for Windows上编译C++代码时出错
- 在Linux和C++中的Windows上,散列字符串值会产生不同的输出
- 函数在Windows或Linux上运行时表现不同
- 如何在CPP中创建应该在Windows和Linux上运行的套接字?
- CMake WxWidgets项目成功地在Linux上构建,但没有在Windows上构建
- 声明C++具有动态大小的数组类型在 Linux 中工作正常,但不能在 Windows 中工作
- 如何在 Linux for Windows 上通过 MinGW 构建静态 ICU 的 Boost
- 在Linux上使用Clang / OLLVM交叉编译helloworld Windows可执行文件时的问题
- 分段 Linux Ubuntu 中的 g++ 错误,但在 Windows 中的 g++/MingW 中,在 C++ 中打
- 如何在Linux / Windows操作系统上使用文件*.cpp一步编译下面的代码
- 获取块设备 Linux/Windows 的大小
- 奇怪!Linux & Windows VSprintf float num to file
- 在 Linux/Windows 上使用 c++ 的 GUI 应用程序
- C++websockets服务器/客户端跨平台linux/windows
- 交叉编译 linux-->windows:使用 opengl32 获得更新的 OpenGL 支持.dll
- 在没有文件支持的情况下保留共享内存(Linux/Windows) (boost::interprocess)
- 如何在Linux/Windows机器的Android操作系统上运行c++程序
- 链接错误- Oculus Rift lib在Qt和VS2013 (Linux - Windows)
- Linux/windows睡眠时间