1.我的vs2019c++编译器本地绝对路径 C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe
2.qt源码包解压后编译64位库,接着在编译32位库的过程中出现问题,返回代码“0x2”,推测编译64位库时产生的文件造成了影响,nmake clean或重新解压qt源码包后编译,问题解决。
3.qtcreator项目出现黄色感叹号显示Failed to load project ,我的情况是Kits发生改变导致的。在左侧项目中的build设置中新建debug选项可以解决。
4.qt项目出现常量中有换行符,可以通过在中文语句末尾添加英文字符解决。推测可能存在中文自动换行,但未找到相关设置。可以通过修改文本编辑器编码格式,然后在头文件中添加
#pragma execution_character_set("utf-8")
解决
5.qt报错MSB3073,原因是我的QMyLabel类的定义写到 main.cpp 中,然后程序最后没有添加 #include “当前源文件名.moc” 语句,所以出现报错。
#include "main.moc
6.qt使用SFML库出现窗体闪退的问题,检查return 0 的位置,它应该在循环之外。
7.c++获取当前工作目录
#include <direct.h>
#include <stdio.h>
int main()
{
char buffer[200];
_getcwd(buffer, 200);
printf( "The current directory is: %s ", buffer);
}
8.set(SFML_STATIC_LIBRARIES TRUE)报错`
error: Requested SFML configuration (Static) was not found CMakeLists.txt:26 (find_package)
解决方法:重新编译SFML,预编译未包含静态库。
9.错误 MSB3073 命令“setlocal。我的通过以管理员运行VS解决了。
10.c++引入第三方库出现找不到文件的错误,检查第三方库是Debug版还是Release版,与项目是否匹配或者和工具是否匹配,检查版本是否匹配。
11.使用CMake-gui编译SFML静态库后,无法引入,报错找不到文件,LNK2038。查看官网发现SFML_BUILD_FRAMEWORKS选项,这个布尔选项控制您是否将 SFML 构建为 框架包 或 dylib 二进制文件。BUILD_SHARED_LIBS需要选择构建框架。建议在发布应用程序时使用 SFML 作为框架。但是请注意,SFML 不能作为框架构建在调试配置中。在这种情况下,请改用 dylibs。测试后无作用。检查版本是否匹配。
12.cmake引入第三方库
set(INC_DIR D:/include)
set(LINK_DIR D:/lib)
set(SOURCE_FILES main.cpp)
include_directories(${INC_DIR})
link_directories(${LINK_DIR})
target_link_libraries(test_boost boost_filesystem boost_system)
13.头文件:#include<Windows.h>
GetCurrentDirectory()获取当前进程工作目录。
SetCurrentDirectory()切换当前进程的当前工作目录。
GetCurrentDirectory只是返回操作系统的当前目录,并不一定返回应用程序的目录。比如在应用程序中调用了打开文件对话框,选择了一个文件,那么,这个文件所在的目录就成了操作系统的当前目录了。因此,千万不要用这个函数作为获取应用程序目录的手段。获取当前应用程序主目录的方法是GetModuleFileName,先获取应用程序文件路径,然后截取调应用程序文件名称就是应用程序主目录了。应该用GetModuleFileName函数,然后.exe文件名去掉,就是当前路径了。
char szCurPath[MAX_PATH] = "D:\\Path";
GetCurrentDirectory(sizeof(szCurPath), szCurPath); //获取当前工作目录
SetCurrentDirectory(szCurPath); //设置当前工作目录路径