- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 cmake 和 CLion 构建一个 C++ 项目,但我遇到了一些我无法理解的错误:
"C:\Program Files\JetBrains\CLion 2019.2.5\bin\cmake\win\bin\cmake.exe" --build C:\Users\username\project-name\cmake-build-debug --target all_tests
Scanning dependencies of target all_tests
[ 0%] Building CXX object CMakeFiles/all_tests.dir/tests/all_tests.cpp.obj
all_tests.cpp
C:\PROGRA~2\Boost\include\BOOST-~1\boost/test/impl/compiler_log_formatter.ipp(64): warning C4273: 'boost::unit_test::output::compiler_log_formatter::log_start': inconsistent dll link
C:\PROGRA~2\Boost\include\BOOST-~1\boost/test/output/compiler_log_formatter.hpp(37): note: see previous definition of 'log_start'
C:\PROGRA~2\Boost\include\BOOST-~1\boost/test/impl/compiler_log_formatter.ipp(76): warning C4273: 'boost::unit_test::output::compiler_log_formatter::log_finish': inconsistent dll link
C:\PROGRA~2\Boost\include\BOOST-~1\boost/test/output/compiler_log_formatter.hpp(38): note: see previous definition of 'log_finish'
// ...
// ... many more warnings like these
// ...
C:\PROGRA~2\Boost\include\BOOST-~1\boost/test/impl/unit_test_parameters.ipp(759): warning C4273: 'boost::unit_test::runtime_config::save_pattern': inconsistent dll link
C:\PROGRA~2\Boost\include\BOOST-~1\boost/test/unit_test_parameters.hpp(93): note: see previous definition of 'save_pattern'
NMAKE : fatal error U1077: 'C:\PROGRA~2\MICROS~3\2017\BUILDT~1\VC\Tools\MSVC\1416~1.270\bin\Hostx86\x86\cl.exe' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x86\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x86\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x86\nmake.exe"' : return code '0x2'
Stop.
我使用的cmake文件如下:
cmake_minimum_required(VERSION 3.9)
project(project_name)
set(CMAKE_CXX_STANDARD 11)
# private lib
add_library(lib INTERFACE)
target_include_directories(lib INTERFACE src/utilities)
# boost
set(BOOST_ROOT "C:\\Program Files\\Boost")
find_package(Boost CONFIG 1.71.0)
if(Boost_FOUND)
message("FOUND")
include_directories(${Boost_INCLUDE_DIR})
endif()
SET(MAIN "...")
SET(TESTS "...")
add_executable(all_tests tests/all_tests.cpp ${MAIN} ${TESTS})
target_link_libraries(all_tests lib)
请注意,同一个项目可以在我的 Mac 上运行,但是当我尝试在 Windows 10 中构建它时出现此错误,请问这是什么问题?
编辑:
all_tests.cpp:
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
#include <boost/test/included/unit_test.hpp>
// initialization function:
bool init_unit_test() {
return true;
}
// entry point:
int main(int argc, char* argv[], char* envp[]) {
return boost::unit_test::unit_test_main( &init_unit_test, argc, argv );
}
示例测试套件:
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
#include "../../src/path/to/header.hpp"
BOOST_AUTO_TEST_SUITE( Suite1 )
BOOST_AUTO_TEST_CASE( Test1 ) {
auto res = header_class::function1();
BOOST_CHECK_EQUAL(res, expected_result);
}
BOOST_AUTO_TEST_CASE( Test2 ) {
auto res = header_class::function2();
BOOST_CHECK_EQUAL(res, expected_result);
}
BOOST_AUTO_TEST_SUITE_END()
我非常确定测试用例中的代码是正确的,并且不会导致问题。
最佳答案
header boost/test/unit_test.hpp
和 boost/test/included/unit_test.hpp
包含相同的功能但用途不同:
boost/test/unit_test.hpp
只声明在库文件中定义的函数,boost/test/included/unit_test.hpp
定义函数,因此不需要包含库文件。绝对没有必要同时使用这两个 header 。
关于c++ - NMAKE : fatal error U1077: cl. exe 和 nmake.exe 返回代码 '0x2',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59283381/
我正在做这样的事情: all: @SET /p filecontent= type somefile.txt PASSWORD=secret c:>type makefile !INCLUDE
我的构建过程需要一个小的 nmake makefile。文件类型为 TXT 和 PDF。因此,我在我的 makfile 中添加了一个推理规则。但是 nmake 完全忽略了它。怎么了? Number=1
我正在将 GNU Make makefile 转换为 Microsoft Visual Studio Makefile。我有三个疑问: 1) 如何替换字符串。例如在包含以下内容的文件夹中: names
我正在尝试编译一些第三方代码并遇到了一些奇怪的 NMAKE 行为。 Makefile 中的行是 cholmod_aat.o: ../Core/cholmod_aat.c $(C) -c
我正在尝试编译一些第三方代码并遇到了一些奇怪的 NMAKE 行为。 Makefile 中的行是 cholmod_aat.o: ../Core/cholmod_aat.c $(C) -c
我有一个包含顶级 makefile 和三个子文件夹的项目,每个子文件夹中都有一个 makefile。 在普通的 makefiles (gnu make) 中我可以这样做: # Just for me
如果我这样做,我认为在 nmake 中: example : set value=77 echo %%value%% 结果将在控制台上显示 77。 有没有办法调用 .
当我在命令提示符中键入 nmake 命令时,出现此错误: 'nmake' is not recognized as an internal or external command operable p
我正在尝试使用 cmake 和 CLion 构建一个 C++ 项目,但我遇到了一些我无法理解的错误: "C:\Program Files\JetBrains\CLion 2019.2.5\bin\cm
我在VS 2012控制台中使用nmake来编译GDAL,我想知道哪个命令可以帮助我删除上一次由nmake命令生成的所有文件。 c:\gdal>nmake clean Microsoft (R) Pro
我看到了两个与我的问题相似的话题,但都没有找到对我有帮助的答案。 我得到了一台运行 Windows 7 Enterprise SP1 64 位的新笔记本电脑,我在上面安装了 Active Perl 5
我注意到了 nmake.exe将其推理规则搜索限制为一个丢失的文件。我发现网上没有提到这个问题。我错过了什么吗? $ cat 生成文件 .后缀:.a .b .d .e 全部:abc.e .a.b: 复
实用程序:NMake 平台:Windows 7 我有以下 Makefile FILE = $(shell) *.c FILE += $(shell) *.cpp exec: @echo $(F
我有一个 Nmake 的 Makefile,其中包含宏中的文件列表: MYSRCFILES1=myfolder\file1.svg myfolder\file2.svg ... myfolder\fi
我想知道当当前目录位于调试文件夹中时,是否可以从命令提示符运行 nmake。我发现更改到以前的文件夹只是为了运行 nmake 然后返回调试文件夹以运行可执行文件是很乏味的。 debug release
您好,我决定尝试学习如何通过命令行和 makefile 构建程序,而不是依赖 Visual Studio 来为我构建程序。在熟悉了编译成 .obj 文件和链接的过程后,我转向了 NMake。我编写了一
我刚买了一台新的四核计算机,发现 nmake 只使用了一个进程。 我曾经使用带有开关 -j4 的 make 来启动 4 个进程。什么是 nmmake 等价物? [编辑]根据以下信息,我已经能够将命令添
我正在使用 NMake 制作联编文件。我有一些实用程序可以运行以将一个文件转换为 CPP 文件。该实用程序需要在 session 期间设置特定的 Windows 环境变量。我可以在 Makefile
大家好! 我正在尝试编译一些外部库作为编译 MESHLAB(用于 3d 网格处理的工具)源代码的先决条件。 首先,我使用“qmake”命令从我的项目文件 (external.pro) 生成 Makef
这个问题在这里已经有了答案: Using nmake with wildcards in the makefile (2 个答案) 关闭 2 年前。 我有 UNIX 背景,所以我习惯于在 GNU/M
我是一名优秀的程序员,十分优秀!