当前位置:首页 » 编程软件 » qt编译运行不了c程序

qt编译运行不了c程序

发布时间: 2022-09-09 17:59:13

❶ Qt 编译好的 可执行文件 不能运行是怎么回事

缺少动态链接库,你的qt是动态编译的,根据提示上你qt的安装目录上考到你的exe文件夹

❷ qt编译后运行错误 出现应用程序无法正常启动(0Xc0150002).请单击“确定”关闭应用程序.

代码有问题

❸ cmake + Qt 5 编译出错,请帮忙看看怎么解决

Qt在编译时,需要首先使用uic.exe编译UI文件,通过moc.exe处理Q_OBJECT之类的宏,当然你可以去掉这些定义,否则就需要加上:

# COMPILE UIs
SET(UIS
mnwindow
)

FOREACH (ui_file ${UIS})
SET(TMP_IN "${PROJECT_SOURCE_DIR}/res/${ui_file}.ui")
SET(TMP_OUT "${PROJECT_BINARY_DIR}/ui_${ui_file}.h")
EXECUTE_PROCESS(COMMAND ${QT_FOLDER}/bin/uic.exe -o ${TMP_OUT} ${TMP_IN})
MESSAGE(STATUS "EXEC=${QT_FOLDER}/bin/uic.exe -o ${PROJECT_BINARY_DIR}/ui_${ui_file}.h ${PROJECT_SOURCE_DIR}/res/${ui_file}.ui")
ENDFOREACH(ui_file)

# CREATE MOC
SET(HEADERS
mainwindow
)

FOREACH (header_file ${HEADERS})
SET(TMP_IN "${PROJECT_SOURCE_DIR}/inc/${header_file}.h")
SET(TMP_OUT "${PROJECT_BINARY_DIR}/moc_${header_file}.cpp")
EXECUTE_PROCESS(COMMAND ${QT_FOLDER}/bin/moc.exe -o ${TMP_OUT} ${TMP_IN})
SET(MOCS ${MOCS} ${PROJECT_BINARY_DIR}/moc_${header_file}.cpp)
MESSAGE(STATUS "EXEC=${QT_FOLDER}/bin/moc.exe -o ${PROJECT_BINARY_DIR}/moc_${header_file}.cpp ${PROJECT_SOURCE_DIR}/inc/${header_file}.h")
ENDFOREACH(header_file)

free c#.net qr creator
这里要注意的是:EXECUTE_PROCESS在COMMAND后面不能加引号,命令直接写,否则执行的程序也不会出错,但也不会正常运行.

❹ Qt编程遇到的问题,我在qt中直接使用C语言的程序片段,有问题 ,求解

改成C++肯定是可以的~,至于C,还真没在QT里面写过~

❺ 为什么我的qt编译程序时不报错也不运行

首先确定的环境有搭建好!然后确定你编译的程序不是arm的给
开发板
用的,而是X86平台的!最后就是你的系统有问题了!

❻ 用QT编写出程序,不能运行,修改环境变量后也不能运行,提示Qtcored4.dill,求大虾帮

把缺少的dll拷贝到应用程序目录或者把qt的bin目录添加到环境变量的path中。

❼ 哪位大神知道QT应用程序正常初始化失败0xc0150002这个错误 直接打开QT编译生成好的可执行程序就出现问题

应用程序正常初始化错误
1. VC2003、VC2005、VC2008及其后续版本,对底层最基本的CRT、MFC、ATL库都进行了重构,为了避免不同版本的库引起冲突,重构后的库文件一般放在 C:\\windows\WinSxS 文件夹中,并用特定的文件夹\文件名称进行标识;

2. 与VC6不同, VC2003、VC2005、VC2008及其后续版本,引入了manifest清单的概念,即应用程序编译后会同时生成对应的.manifest文件,并将该.manifest文件作为资源编译到dll或者exe中去。.manifest文件实际上是一个XML格式的文本文件,里面记录了dll或exe中要引用的CRT、MFC、ATL库的版本和名称。VC6编译的应用程序对CRT、MFC、ATL的dll都是直接调用,而VC2003、VC2005、VC2008编译的程序都是先查询编译到资源中的manifest中的记录,然后按照记录提供的版本和名称去搜寻对应的CRT、MFC、ATL库以及随库发布的.manifest文件,搜寻的路径包括当前目录、C:\\windows\WinSxS 等等,如果没有找到对应的库文件,则提示“应用程序正常初始化失败”;

3.因此解决这个问题的办法就是:(a)用文本编辑器打开exe或dll对应的.manifest文件,查看它引用的CRT、MFC、ATL库的版本;或者,用UltraEdit直接打开exe或者dll,从资源区中找到编译进去的.manifest信息,找到它引用的CRT、MFC、ATL库的版本;或者,运行程序,当程序弹出“应用程序正常初始化失败”对话框时,在桌面上右键点击“我的电脑”-“管理”-“事件查看器”-“系统”,双击查看其中的记录,可以看到出错的原因是因为缺少了某某版本的CRT、MFC、ATL库,记录下这个版本信息;(b)记录到的库的版本信息一般类似于“Microsoft.VC90.DebugCRT”,之后到C:\\windows\WinSxS 或者VC200X的安装文件夹中搜索包含这个字符串的文件夹和文件,将搜索到的dll和.manifest文件都拷贝到应用程序所在的文件夹中,其中,.manifest文件必须重命名为“Microsoft.VC90.DebugCRT.manifest”(这里以Microsoft.VC90.DebugCRT为例),这样应用程序就可以正常运行了;(c)注意:库的.manifest文件和dll要一同拷贝到应用程序根目录去,因为应用程序会将编译到内部的manifest信息与外部的.manifest文件进行对比,之后才会对库的dll进行调用。如果只拷贝库的dll文件是没有用的;

4.如果本机编译和运行程序都ok,但是将编译好的程序拿到其它机器上确无法运行,则多半也是这个原因。另外,如果提示"应用程序配置不正确",大多也是因为上面所说的CRT、MFC、ATL库版本与应用程序不匹配导致的,可以如法炮制进行解决;

❽ Qt 编译不了,怎么解决啊,'cl' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

没装 Visual Studio 自然用不了 cl 编译器。

  • 如果确定装了 Visual Studio ,就手动设置编译器选项,选择正确的路径

  • 如果真的没装 Visual Studio ,也没必要装(毕竟 Visual Studio 体积不小),mingw-w64体积小得多,而编译器的优化能力甚至更出色(下载地址: http://sourceforge.net/projects/mingw-w64/ )

❾ qt 为什么可以编译.cpp后缀的C++文件 而无法编译.c文件

哈!!哈哈,,不是说QT不支持*.c文件,肯定是支持的,既然是*.c文件也就是说默认该文件编译时使用C编译器,但是C在语法上和C++还是有一点区别的!就比如说,C中就没有什么名称空间所以namespace可定他就不认识了,因为namespace只是C++中的关键字,而非C中!要想编译的话得把该文件中所有使用了C++语法的东西改动一下,应该就OK啦!!最后祝楼主早日解决这个问题...............

热点内容
宝马报警编程 发布:2025-03-26 16:09:04 浏览:825
一加z怎么样配置好 发布:2025-03-26 16:04:49 浏览:232
acer暗影骑士龙能装存储卡吗 发布:2025-03-26 16:04:36 浏览:310
php与lua 发布:2025-03-26 16:03:58 浏览:697
phpcurlxml 发布:2025-03-26 15:44:58 浏览:727
安卓手机如何清空流量 发布:2025-03-26 15:43:45 浏览:349
sqlserver图标 发布:2025-03-26 15:29:09 浏览:457
音频去噪算法 发布:2025-03-26 15:17:58 浏览:556
透明pp文件夹 发布:2025-03-26 15:15:52 浏览:145
perl的编译器 发布:2025-03-26 15:12:25 浏览:360