gpt4 book ai didi

c++ - 如何使用与 MSVS 中相同的设置从 cmd 运行 cl.exe?

转载 作者:行者123 更新时间:2023-11-28 02:34:18 24 4
gpt4 key购买 nike

我在 MSVS 2010 Express 中有一个 C++ 项目。我一直在计划编写几个单元测试来验证这个项目。现在他们遵循以下路线:

#include "header.h" //Header is the header for the source I want to test

void testSomeFunction()
{
//Call function (from external src, prototype in header.h)
//Save output to file
}

int main()
{
testSomeFunction();
return 0;
}

我在我的项目之外创建这些源文件,因为我希望能够将它们中的每一个作为单独的可执行文件运行,但我无法让 Microsoft 链接器链接它们。

这是我目前的问题(CMD 输出):

cl ut_Converter.cpp Converter.obj

ut_Converter.cpp
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\xlocale(323) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc

Microsoft (R) Incremental Linker Version 10.00.40219.01
Copyright (C) Microsoft Corporation. All rights reserved.

/out:ut_Converter.exe
ut_Converter.obj
Converter.obj
Converter.obj : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in ut_Converter.obj
Converter.obj : fatal error LNK1313: pure module detected; cannot link with ijw/native modules

我从未真正使用过 Microsoft 产品,我熟悉使用 GCC 和 make 的 GNU 工具,但我必须为此使用 Microsoft 工具,但我不知道它们是如何工作的。

也许我打算以愚蠢的方式构建这些测试,但这是我现在能想到的最好的方式。

这就是我想要做的:

  1. 将我项目中的源文件编译成目标文件
  2. 将我的测试文件编译成目标文件
  3. 将测试目标文件与适当的项目目标文件链接起来以生成测试可执行文件

我该怎么做? (我猜我需要设置一些设置以使一切兼容,但我不知道它们是什么或我将如何设置它们)

额外:我知道它提到了调试级别,但我敢打赌还会有其他不兼容的设置。有没有办法找出程序中的设置,以便在运行时将它们传递给 cl.exe?

编辑:当我说命令提示符时,我指的是 Visual Studio 附带的所有环境变量设置。

最佳答案

您是否尝试过转到 Programs/Microsoft Visual .../... Tools/... Command Prompt,然后从设置了环境变量的 dos 控制台窗口运行?

关于c++ - 如何使用与 MSVS 中相同的设置从 cmd 运行 cl.exe?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28036874/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com