Cmake Error: The following variables are used in the project, but they are set to NOTFOUND trying to compile Rigs of Rods in archlinux
Cmake Error: The following variables are used in the project, but they are set to NOTFOUND trying to compile Rigs of Rods in archlinux
我一直在尝试使用 4.2.6 内核在 archlinux 下编译 Rigs of Rods。
我已经按照 http://www.rigsofrods.com/wiki/pages/Compiling_Sources_under_Linux 中提供的官方编译说明进行操作
我已经成功编译了 ogredeps 并且 CMake 没有给我任何错误,我什至为它启用了多线程(在使用 make 时,在 运行 CMake 之后。),但是当我尝试编译 Ogre(在 "Ogre Itself" 部分下提到在编译说明中)CMake 给我这个:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
OIS_INCLUDE_DIR (ADVANCED)
used as include directory in directory /root/ror-deps/ogre/Samples
used as include directory in directory /root/ror-deps/ogre/Samples
used as include directory in directory /root/ror-deps/ogre/Samples
used as include directory in directory /root/ror-deps/ogre/Samples
used as include directory in directory /root/ror-deps/ogre/Samples
used as include directory in directory /root/ror-deps/ogre/Samples
used as include directory in directory /root/ror-deps/ogre/Samples
used as include directory in directory /root/ror-deps/ogre/Samples
这里还有 /root/ror-deps/ogre/CMakeFiles/CMakeError.log 的输出:
Determining if the system is big endian passed with the following output:
Change Dir: /root/ror-deps/ogre/CMakeFiles/CMakeTmp
Run Build Command:"/usr/bin/make" "cmTC_4b356/fast"
/usr/bin/make -f CMakeFiles/cmTC_4b356.dir/build.make CMakeFiles/cmTC_4b356.dir/build
make[1]: se entra en el directorio '/root/ror-deps/ogre/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_4b356.dir/TestEndianess.c.o
/usr/bin/cc -o CMakeFiles/cmTC_4b356.dir/TestEndianess.c.o -c /root/ror-deps/ogre/CMakeFiles/CMakeTmp/TestEndianess.c
Linking C executable cmTC_4b356
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_4b356.dir/link.txt --verbose=1
/usr/bin/cc CMakeFiles/cmTC_4b356.dir/TestEndianess.c.o -o cmTC_4b356 -rdynamic
make[1]: se sale del directorio '/root/ror-deps/ogre/CMakeFiles/CMakeTmp'
TestEndianess.c:
/* A 16 bit integer is required. */
typedef unsigned short cmakeint16;
/* On a little endian machine, these 16bit ints will give "THIS IS LITTLE ENDIAN."
On a big endian machine the characters will be exchanged pairwise. */
const cmakeint16 info_little[] = {0x4854, 0x5349, 0x4920, 0x2053, 0x494c, 0x5454, 0x454c, 0x4520, 0x444e, 0x4149, 0x2e4e, 0x0000};
/* on a big endian machine, these 16bit ints will give "THIS IS BIG ENDIAN."
On a little endian machine the characters will be exchanged pairwise. */
const cmakeint16 info_big[] = {0x5448, 0x4953, 0x2049, 0x5320, 0x4249, 0x4720, 0x454e, 0x4449, 0x414e, 0x2e2e, 0x0000};
#ifdef __CLASSIC_C__
int main(argc, argv) int argc; char *argv[];
#else
int main(int argc, char *argv[])
#endif
{
int require = 0;
require += info_little[argc];
require += info_big[argc];
(void)argv;
return require;
}
我研究过,我看过这些问题:
-CMake Error: The following variables are used in this project, but they are set to NOTFOUND
-CMake Error: The following variables are used in this project, but they are set to NOTFOUND
-CMake Error: The following variables are used in this project, but they are set to NOTFOUND ? in ros
但要么他们指的是不同的问题,要么就是我不能很好地理解答案
OIS_INCLUDE_DIR
表示没有找到OIS的include(头文件)。要么你的发行版有一个你必须安装的包,要么你必须将 OIS 安装目录添加到 CMAKE_PREFIX_PATH
.
我一直在尝试使用 4.2.6 内核在 archlinux 下编译 Rigs of Rods。 我已经按照 http://www.rigsofrods.com/wiki/pages/Compiling_Sources_under_Linux 中提供的官方编译说明进行操作 我已经成功编译了 ogredeps 并且 CMake 没有给我任何错误,我什至为它启用了多线程(在使用 make 时,在 运行 CMake 之后。),但是当我尝试编译 Ogre(在 "Ogre Itself" 部分下提到在编译说明中)CMake 给我这个:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
OIS_INCLUDE_DIR (ADVANCED)
used as include directory in directory /root/ror-deps/ogre/Samples
used as include directory in directory /root/ror-deps/ogre/Samples
used as include directory in directory /root/ror-deps/ogre/Samples
used as include directory in directory /root/ror-deps/ogre/Samples
used as include directory in directory /root/ror-deps/ogre/Samples
used as include directory in directory /root/ror-deps/ogre/Samples
used as include directory in directory /root/ror-deps/ogre/Samples
used as include directory in directory /root/ror-deps/ogre/Samples
这里还有 /root/ror-deps/ogre/CMakeFiles/CMakeError.log 的输出:
Determining if the system is big endian passed with the following output:
Change Dir: /root/ror-deps/ogre/CMakeFiles/CMakeTmp
Run Build Command:"/usr/bin/make" "cmTC_4b356/fast"
/usr/bin/make -f CMakeFiles/cmTC_4b356.dir/build.make CMakeFiles/cmTC_4b356.dir/build
make[1]: se entra en el directorio '/root/ror-deps/ogre/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_4b356.dir/TestEndianess.c.o
/usr/bin/cc -o CMakeFiles/cmTC_4b356.dir/TestEndianess.c.o -c /root/ror-deps/ogre/CMakeFiles/CMakeTmp/TestEndianess.c
Linking C executable cmTC_4b356
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_4b356.dir/link.txt --verbose=1
/usr/bin/cc CMakeFiles/cmTC_4b356.dir/TestEndianess.c.o -o cmTC_4b356 -rdynamic
make[1]: se sale del directorio '/root/ror-deps/ogre/CMakeFiles/CMakeTmp'
TestEndianess.c:
/* A 16 bit integer is required. */
typedef unsigned short cmakeint16;
/* On a little endian machine, these 16bit ints will give "THIS IS LITTLE ENDIAN."
On a big endian machine the characters will be exchanged pairwise. */
const cmakeint16 info_little[] = {0x4854, 0x5349, 0x4920, 0x2053, 0x494c, 0x5454, 0x454c, 0x4520, 0x444e, 0x4149, 0x2e4e, 0x0000};
/* on a big endian machine, these 16bit ints will give "THIS IS BIG ENDIAN."
On a little endian machine the characters will be exchanged pairwise. */
const cmakeint16 info_big[] = {0x5448, 0x4953, 0x2049, 0x5320, 0x4249, 0x4720, 0x454e, 0x4449, 0x414e, 0x2e2e, 0x0000};
#ifdef __CLASSIC_C__
int main(argc, argv) int argc; char *argv[];
#else
int main(int argc, char *argv[])
#endif
{
int require = 0;
require += info_little[argc];
require += info_big[argc];
(void)argv;
return require;
}
我研究过,我看过这些问题:
-CMake Error: The following variables are used in this project, but they are set to NOTFOUND -CMake Error: The following variables are used in this project, but they are set to NOTFOUND -CMake Error: The following variables are used in this project, but they are set to NOTFOUND ? in ros
但要么他们指的是不同的问题,要么就是我不能很好地理解答案
OIS_INCLUDE_DIR
表示没有找到OIS的include(头文件)。要么你的发行版有一个你必须安装的包,要么你必须将 OIS 安装目录添加到 CMAKE_PREFIX_PATH
.