vs解决方案release版本调成debug

vs解决方案release版本调成debug

如果给你一个vs的解决方案,默认的是release版的,让你弄出一个debug版本出来方便调试,你会发现,一个大的工程,绝对不会是讲release改为debug那么简单。

首先,改为debug后,要保证一些基本的库跟release版本是一致的,这样才能够保证编译时能够找到库文件,dll或者lib,有时候路径设置的不对,甚至连h或者cpp文件也找不到。

然后,是字符集和MFC使用的设置,一般都是多字符集,MFC跟release版本保持一致。当然有时候编译不通过的时候可以都试一下。

另外还有几个特别容易出错的地方,代码生成那里的基本运行时检查和运行时库,设置的不对也会导致大量的出错信息。

注意一下文件的输入输出目录,各个文件之间的调用关系。

下面说一下我今天遇到的错误还有解决方法吧。

error LNK2005: _calloc 已经在 libcmtd.lib(dbgheap.obj) 中定义 LIBCMT.lib
fatal error LNK1169: 找到一个或多个多重定义的符号
这种错误要在链接器—输入—忽略特定库中输入LIBCMT.lib。

error LNK2005: _DllMain@12 已经在 CyberGina.obj 中定义 mfcs80d.lib
fatal error LNK1169: 找到一个或多个多重定义的符号
我在预处理器—预处理定义—删除USEDLL解决了问题

error LNK2019: 无法解析的外部符号 _CIP_STREAM_OP,该符号在函数 “public: long………………中被引用
这种错误一般是库文件路径不对
链接器—输入—附加依赖库 保持跟release一致

error C2491: XXX: 不允许 dllimport 函数 的定义
c/c++ 预处理器 预处理定义 添加APICTRL_EXPORTS,网上多半是说加入DLLEXPORT,我试过了,对我来说不能解决。呵呵。

最后,如果提示找不到什么lib,dll一定要仔细检查设置的附加库啊,包含目录啊,依赖项,要保证路径正确,并且文件存在。

CMake是一个跨平台的构建系统,用于自动化管理软件项目的构建过程。要在Visual Studio (VS) 中为项目生成DebugRelease版本,你需要在CMakeLists.txt文件中设置一些特定选项。以下是基本步骤: 1. **初始化CMake**: 首先,通过`cmake -S <源码目录> -B <构建目录>`命令告诉CMake你的源码根目录和构建目录。 2. **添加目标类型**: 添加`add_library()`或`add_executable()`来创建项目,并指定输出类型(`DEBUG` 或 `RELEASE`),例如: ```cmake add_library(my_project_name ${PROJECT_NAME} ${SOURCES}) ``` 如果你想分别创建DebugRelease版本,可以这样做: ```cmake add_library(debug_my_project_name Debug ${DEBUG_SOURCES}) add_library(release_my_project_name Release ${RELEASE_SOURCES}) ``` 3. **选择构建类型**: 使用`if`条件语句来根据构建类型设置不同的编译选项,如启用调试信息、优化级别等: ```cmake if(CMAKE_BUILD_TYPE STREQUAL "Debug") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Od") # 开启调试信息 elseif(CMAKE_BUILD_TYPE STREQUAL "Release") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /O2") # 关闭调试信息并开启优化 endif() ``` 4. **VS生成支持**: 在CMakeLists.txt中,添加对Visual Studio的支持,通常使用`find_package(Visual Studio)`来查找VS版本,然后用`generate`命令生成VS解决方案文件: ```cmake find_package(Visual Studio) if(MSVC) # 更改 Visual Studio 的生成文件列表... endif() cmake_policy(SET CMP0074 NEW) cmake_minimum_required(VERSION 3.15) # 创建VS项目 add_custom_command(TARGET debug_my_project_name ALL COMMAND ${CMAKE_COMMAND} -G "Visual Studio 16 2019" -A Debug ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.sln ) add_custom_command(TARGET release_my_project_name ALL COMMAND ${CMAKE_COMMAND} -G "Visual Studio 16 2019" -A Release ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.sln ) cmake_generate_target_properties(debug_my_project_name PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) cmake_generate_target_properties(release_my_project_name PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) ``` 5. **生成解决方案**:最后,在命令行运行`cmake --build . --config Debug` 或 `--config Release` 来实际构建DebugRelease版本
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值