codelite unittest++/UnitTest++.h: 没有这样的文件或目录
codelite unittest++/UnitTest++.h: no such file or directory
我正在尝试使用 C++/Codelite 进行单元测试。我从 codelite-plugins 包 (Ubuntu 18.04) 安装了 UnitTest++ 插件。我也可以看到这个:
$ ls -la /usr/include | grep Unit
drwxr-xr-x 3 root root 4096 Mar 2 11:47 UnitTest++
$ sudo dpkg -l | grep unittest++
ii libunittest++-dev 2.0.0-2 amd64 unit testing framework for c++, static library and headers
ii libunittest++2:amd64 2.0.0-2 amd64 unit testing framework for c++, runtime library
所以我在 Codelite 中创建了一个测试项目并添加了这个:
#include <unittest++/UnitTest++.h> // This line and main are auto-created
TEST(SanityTest)
{
CHECK_EQUAL(1, 1);
}
int main(int argc, char **argv)
{
return UnitTest::RunAllTests();
}
现在我希望在按 CTRL+F5 后得到测试结果。但是当我这样做时,我只会弹出一个 window 说没有测试:
我还注意到,当我转到 Build > Build Project 时,我收到一条错误消息:
fatal error: unittest++/UnitTest++.h: No such file or directory
我还找到了 并根据 answer/comments 尝试了不同的控制台命令变体,但我总是得到相同的没有这样的文件或目录错误。
知道我错过了什么吗?
编辑:
根据 Stephen 的 Newell 请求构建日志:
/bin/sh -c '/usr/bin/make -j8 -e -f Makefile'
----------Building project:[ Test - Debug ]----------
make[1]: Entering directory '/home/callmebob/Documents/workspace-codelite/cpp/Test'
/usr/bin/g++ -c "/home/callmebob/Documents/workspace-codelite/cpp/Test/main.cpp" -g -o Debug/main.cpp.o -I. -I/usr/include/unittest++
/home/callmebob/Documents/workspace-codelite/cpp/Test/main.cpp:1:10: fatal error: unittest++/UnitTest++.h: No such file or directory
#include "unittest++/UnitTest++.h"
^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Test.mk:95: recipe for target 'Debug/main.cpp.o' failed
make[1]: *** [Debug/main.cpp.o] Error 1
make[1]: Leaving directory '/home/callmebob/Documents/workspace-codelite/cpp/Test'
Makefile:4: recipe for target 'All' failed
make: *** [All] Error 2
====2 errors, 0 warnings====
此外,如果我右键单击该项目,转到 设置 > 编译器,我可以看到:
Included Paths = /usr/include/unittest++
根据您的 ls
输出,您似乎应该将第一行更改为:
#include <UnitTest++/UnitTest++.h>
我不确定为什么您链接到的答案使用小写目录名称;项目文档中的示例均使用大小写混写的目录名
我正在尝试使用 C++/Codelite 进行单元测试。我从 codelite-plugins 包 (Ubuntu 18.04) 安装了 UnitTest++ 插件。我也可以看到这个:
$ ls -la /usr/include | grep Unit
drwxr-xr-x 3 root root 4096 Mar 2 11:47 UnitTest++
$ sudo dpkg -l | grep unittest++
ii libunittest++-dev 2.0.0-2 amd64 unit testing framework for c++, static library and headers
ii libunittest++2:amd64 2.0.0-2 amd64 unit testing framework for c++, runtime library
所以我在 Codelite 中创建了一个测试项目并添加了这个:
#include <unittest++/UnitTest++.h> // This line and main are auto-created
TEST(SanityTest)
{
CHECK_EQUAL(1, 1);
}
int main(int argc, char **argv)
{
return UnitTest::RunAllTests();
}
现在我希望在按 CTRL+F5 后得到测试结果。但是当我这样做时,我只会弹出一个 window 说没有测试:
我还注意到,当我转到 Build > Build Project 时,我收到一条错误消息:
fatal error: unittest++/UnitTest++.h: No such file or directory
我还找到了
知道我错过了什么吗?
编辑:
根据 Stephen 的 Newell 请求构建日志:
/bin/sh -c '/usr/bin/make -j8 -e -f Makefile'
----------Building project:[ Test - Debug ]----------
make[1]: Entering directory '/home/callmebob/Documents/workspace-codelite/cpp/Test'
/usr/bin/g++ -c "/home/callmebob/Documents/workspace-codelite/cpp/Test/main.cpp" -g -o Debug/main.cpp.o -I. -I/usr/include/unittest++
/home/callmebob/Documents/workspace-codelite/cpp/Test/main.cpp:1:10: fatal error: unittest++/UnitTest++.h: No such file or directory
#include "unittest++/UnitTest++.h"
^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Test.mk:95: recipe for target 'Debug/main.cpp.o' failed
make[1]: *** [Debug/main.cpp.o] Error 1
make[1]: Leaving directory '/home/callmebob/Documents/workspace-codelite/cpp/Test'
Makefile:4: recipe for target 'All' failed
make: *** [All] Error 2
====2 errors, 0 warnings====
此外,如果我右键单击该项目,转到 设置 > 编译器,我可以看到:
Included Paths = /usr/include/unittest++
根据您的 ls
输出,您似乎应该将第一行更改为:
#include <UnitTest++/UnitTest++.h>
我不确定为什么您链接到的答案使用小写目录名称;项目文档中的示例均使用大小写混写的目录名