QTCreater编程错误:LNK2019: 无法解析的外部符号 __imp__ShellExecuteW@24,该符号在函数 _main 中被引用 的 错误处理 及 添加外部库与头文件 的方法

本文主要是介绍QTCreater编程错误:LNK2019: 无法解析的外部符号 __imp__ShellExecuteW@24,该符号在函数 _main 中被引用 的 错误处理 及 添加外部库与头文件 的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

QTCreater编程错误:LNK2019: 无法解析的外部符号 __imp__ShellExecuteW@24,该符号在函数 _main 中被引用 的 错误处理 及 添加外部库与头文件 的方法


下面是方法:

1. 编辑pro文件

LIBS += -Lmylibpath

LIBS += -lmylibfile


2. 编辑完成后执行"构建->执行qmake",完成。



附:qt pro文件编辑详解:

1. TEMPLATE
变量TEMPLATE描述了为建立目标文件而采用何种模板,即生成何种形式的Makefile文件。Qmake
工具定义了5种模板:
1. 应用程序App,为建立一个Qt应用程序创建Makefile文件;
2. 库lib,为建立引用程序库而创建Makefile文件;
3. 子工程 subdirs,为建立子目录下的目标文件创建一个Makefile文件,
子目录通过变量SUBDIRS指定(子目录下的工程文件也需要指出使用何种模板);
4. VC应用程序vcapp,为Visual Studio 生成一个应用程序工程,仅仅用语Windos操作系统.
5. VC库vclib,为Visual Studio生成一个应用程序库工程,仅仅用语Windows操作系统.

{

app – 建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。

lib – 建立一个库的makefile。

vcapp – 建立一个应用程序的Visual Studio项目文件。

vclib – 建立一个库的Visual Studio项目文件。

subdirs – 这是一个特殊的模板,它可以创建一个能够进入特定目录并且为一个项目文件生成makefile并且为它调用make的makefile。

“app”模板
“app”模板告诉qmake为建立一个应用程序生成一个makefile。当使用这个模板时,下面这些qmake系统变量是被承认的。你应该在你的.pro文件中使用它们来为你的应用程序指定特定信息。

}

2.HEADERS - 应用程序中的所有头文件的列表。

3.SOURCES - 应用程序中的所有源文件的列表。

4.FORMS / INTERFACES – 应用程序中的所有.ui文件(由Qt设计器生成)的列表。    eg.INTERFACES = filename.ui

5.LEXSOURCES – 应用程序中的所有lex源文件的列表。

6.YACCSOURCES – 应用程序中的所有yacc源文件的列表。

7.TARGET – 可执行应用程序的名称。默认值为项目文件的名称。(如果需要扩展名,会被自动加上。)

8.DESTDIR – 放置可执行程序目标的目录。

9.DEFINES – 应用程序所需的额外的预处理程序定义的列表。

10.INCLUDEPATH - 应用程序所需的额外的包含路径的列表(include文件路径列表)。

11.DEPENDPATH – 应用程序所依赖的搜索路径(描述了建立应用程序所依赖的其他文件所在的路 径)。

12.VPATH – 寻找补充文件的搜索路径。

13.DEF_FILE - 只有Windows需要:应用程序所要连接的.def文件。

14.C_FILE - 只有Windows需要:应用程序的资源文件。

15.RES_FILE – 只有Windows需要:应用程序所要连接的资源文件。

16.CONFIG变量
配置变量指定了编译器所要使用的选项和所需要被连接的库。配置变量中可以添加任何东西,但只有下面这些选项可以被qmake识别。

下面这些选项控制着使用哪些编译器标志:

release – 应用程序将以release模式连编。如果“debug”被指定,它将被忽略。

debug – 应用程序将以debug模式连编。

warn_on – 编译器会输出尽可能多的警告信息。如果“warn_off”被指定,它将被忽略。

warn_off - 编译器会输出尽可能少的警告信息。
17 .  LIBS

这里可以选择我们要包含的库,例如我们的工程要用到libz.so的一个压缩库,我可以怎么写:

    LIBS += -lz

或是用到我们image目录下的libimage.so库,那么可以这么写:

    LIBS += -L../image/image



注意事项:

注:qmake -project 可以生成pro文件(可以根据项目需要,编辑该文件)
qmake 可以生成Makefile文件
make 编译
使用qmake -project时,会把本目录及其子目录内所有.cpp .h文件加入到项目输入文件中,使用时注意移去其他无用的文件。
qmake生成的Makefile文件,可以根据需要做相应修改。



这篇关于QTCreater编程错误:LNK2019: 无法解析的外部符号 __imp__ShellExecuteW@24,该符号在函数 _main 中被引用 的 错误处理 及 添加外部库与头文件 的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/701079

相关文章

python使用try函数详解

《python使用try函数详解》Pythontry语句用于异常处理,支持捕获特定/多种异常、else/final子句确保资源释放,结合with语句自动清理,可自定义异常及嵌套结构,灵活应对错误场景... 目录try 函数的基本语法捕获特定异常捕获多个异常使用 else 子句使用 finally 子句捕获所

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

C++11右值引用与Lambda表达式的使用

《C++11右值引用与Lambda表达式的使用》C++11引入右值引用,实现移动语义提升性能,支持资源转移与完美转发;同时引入Lambda表达式,简化匿名函数定义,通过捕获列表和参数列表灵活处理变量... 目录C++11新特性右值引用和移动语义左值 / 右值常见的左值和右值移动语义移动构造函数移动复制运算符

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

Java Thread中join方法使用举例详解

《JavaThread中join方法使用举例详解》JavaThread中join()方法主要是让调用改方法的thread完成run方法里面的东西后,在执行join()方法后面的代码,这篇文章主要介绍... 目录前言1.join()方法的定义和作用2.join()方法的三个重载版本3.join()方法的工作原

MySQL CTE (Common Table Expressions)示例全解析

《MySQLCTE(CommonTableExpressions)示例全解析》MySQL8.0引入CTE,支持递归查询,可创建临时命名结果集,提升复杂查询的可读性与维护性,适用于层次结构数据处... 目录基本语法CTE 主要特点非递归 CTE简单 CTE 示例多 CTE 示例递归 CTE基本递归 CTE 结

Spring Boot 3.x 中 WebClient 示例详解析

《SpringBoot3.x中WebClient示例详解析》SpringBoot3.x中WebClient是响应式HTTP客户端,替代RestTemplate,支持异步非阻塞请求,涵盖GET... 目录Spring Boot 3.x 中 WebClient 全面详解及示例1. WebClient 简介2.

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分