将qmake文件转换为Unix makefile
convert qmake file to unix makefile
我有一个cli程序,我想在旧机器上构建(没有安装qt)。我的主要开发机器有QT,我使用QT -creator来完成我的大部分工作,但是当去到这些旧的机器并运行make时,由qmake生成的makefile期望qmake可用。
如何使qmake文件可移植?编辑:平台是Linux,(各种服务器,一些旧的,一些新的)使用qmake使makefile不工作,因为创建的makefile需要qmake(因此我的问题)。
不要使用qmake
来制作非Qt项目。这没有任何意义。但是,如果您的项目文件只是一系列
SOURCES = ...
那么就定义一个Makefile变量用相同的值,比如
OBJECTS = $(patsubst %.cpp,%.o, $(SOURCES))
然后定义如下规则:
%.o: %.cc
g++ -o $@ $<
(或任何正确的编译器)。
您还可以查看生成的Makefile,将其剥离为最基本的表达式,并删除qmake文件。
如果您告诉我们您希望在哪个平台上使用make,那将会很有帮助。
通过使用qmake,你可以很容易地为你想要的平台创建Makefile,通过运行qmake
$qmake -spec your_desire_platform_spec your_project.pro
然后运行,make as
$make
比如说,你想在FreeBSD上运行它;
如果你想使用clang, qmake as
$qmake -spec freebsd-clang your_project.pro
如果你想使用g++,运行qmake作为
$qmake -spec freebsd-g++ your_project.pro
然后运行make
$make
相关文章:
- 在UNIX系统中使用DIR查找文件的字节大小
- 当套接字连接断开时检测C/C++Unix
- C++:floor unix时间戳到UTC月份
- 如何在C/C++中用FD_set Unix设置套接字文件描述符
- 针对遗留库的链接:来自预制makefile的-lgfortranbegin
- 外壳包装器句柄/执行交互式命令管道C++ UNIX
- 使用 Makefile 中的头文件编译 Pybind (不使用 cmake)
- C++:如何将 unix 时间的字符串转换为 *tm?(使用时间错误:"cannot convert 'String' to 'tm*' ")
- createFile() 和 DeviceIoControl() 等效于 Unix/Linux 中的卷设备
- 如何在使用Makefile构建后在cmd中运行该程序?
- Makefile g++ 使用命令行中的 -D 变量进行编译,默认值
- 如何将 jsoncpp 库包含在 unix 上的项目中?
- @CPPFLAGS@在 Makefile.in 中意味着什么?
- 如何在macOS上使用Makefile?
- Makefile 创建两个库 - 一个依赖于另一个
- 我将 Makefile 更改为 C++11 版本,但仍然收到列表初始值设定项错误
- 如何"buffer" UNIX 信号
- qmake为win32-g++平台生成的Makefile包含unix命令
- 为Unix创建一个makefile
- 将qmake文件转换为Unix makefile