Не могли бы вы помочь мне с этой изумительной ошибкой в Эйгене?«Синтаксическая ошибка bench / BenchTimer.h (31):« volatile »»
Код ошибки: bench / BenchTimer.h
static void escape(void *p) {
asm volatile("" : : "g"(p) : "memory");
}
static void clobber() {
asm volatile("" : : : "memory");
}
Мой код: tests.cpp
#include <iostream>
#include <bench/BenchTimer.h>
int main() {
Eigen::BenchTimer t;
t.reset(); t.start();
//TestEigenSolveSpeed();
t.stop();
std::cout << t.value() << std::endl;
return 0;
}
CMakeLists.txt
cmake_minimum_required(VERSION 3.11)
set(LEVELING_NAME test-eigen)
project(${LEVELING_NAME})
add_executable(${LEVELING_NAME} tests.cpp )
target_include_directories(${LEVELING_NAME} PUBLIC
${CMAKE_CURRENT_LIST_DIR}/deps/eigen-master
)
Структура папки:
/
|
-- CMakeLists.txt
-- tests.cpp
-- deps
|
-- eigen-master
Создано решение с: cmake . -DCMAKE_GENERATOR_PLATFORM=x64 -B build
В Windows, в VS2017
с новейшей версией репозитория: основная версия 3.3.3
Вот три файла плюсхранилище на молнии для удобства воспроизведения: https://www.dropbox.com/s/avpfbabo4l9ti5h/test-eigen-error-volatile.zip?dl=0