我试图建立在64位Windows机的voxelterrain库(C ++,食人魔)与Visual Studio 2012的CMake似乎没有错误运行(参见下面的输出)。 当我尝试编译库我收到几个错误。 我不知道CMake的想法,但我认为编译器不解释C ++ 11正确。
例如:此代码...
template <class T>
using weakPointer = std::weak_ptr<T>;
给出了这样的错误:
error C2988: Unerkannte Vorlagendeklaration/-definition
error C2059: syntax error : 'using'
error C2143: syntax error : missing ';' before '{'
error C2447: '{': missing function header (old-style formal list?
这里的源和cmake的文件:
VoxelTerrain库: http://voxelterrain.com/index.html
CMake的文件: https://github.com/qwertzui11/voxelTerrain/blob/master/CMakeLists.txt
CMake的输出:
The C compiler identification is MSVC 17.0.61030.0
The CXX compiler identification is MSVC 17.0.61030.0
Check for working C compiler using: Visual Studio 11 2012 Win64
Check for working C compiler using: Visual Studio 11 2012 Win64 -- works
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Check for working CXX compiler using: Visual Studio 11 2012 Win64
Check for working CXX compiler using: Visual Studio 11 2012 Win64 -- works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
CMake Warning (dev) at CMakeLists.txt:20 (if):
Policy CMP0054 is not set: Only interpret if() arguments as variables or
keywords when unquoted. Run "cmake --help-policy CMP0054" for policy
details. Use the cmake_policy command to set the policy and suppress this
warning.
Quoted variables like "MSVC" will no longer be dereferenced when the policy
is set to NEW. Since the policy is not set the OLD behavior will be used.
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at CMakeLists.txt:26 (elseif):
Policy CMP0054 is not set: Only interpret if() arguments as variables or
keywords when unquoted. Run "cmake --help-policy CMP0054" for policy
details. Use the cmake_policy command to set the policy and suppress this
warning.
Quoted variables like "MSVC" will no longer be dereferenced when the policy
is set to NEW. Since the policy is not set the OLD behavior will be used.
This warning is for project developers. Use -Wno-dev to suppress it.
Boost version: 1.57.0
...
Looking for OGRE...
Found Ogre Xalafu (1.10.0)
...
Performing Test COMPILER_HAS_DEPRECATED_ATTR
Performing Test COMPILER_HAS_DEPRECATED_ATTR - Failed
Performing Test COMPILER_HAS_DEPRECATED
Performing Test COMPILER_HAS_DEPRECATED - Success
...
Configuring done
Generating done
谢谢你的帮助!