所以我對CLion和CMake很陌生,所以對於術語的錯誤使用提前抱歉。我遇到以下問題:在我的cmake項目中包含了傳感器庫clion
在我的項目中,我想包括ITensor library,它本質上是一個非CMake項目。我把git克隆到我的電腦上並構建了ITensor項目。接下來,我想用它在另一個項目中鏈接到的它的CMake:
我的代碼在main.cpp中:
#include <iostream>
#include "itensor.h"
int main() {
std::string some_string = "Hello world";
return 0;
}
和我的CMakeLists.txt樣子:
cmake_minimum_required(VERSION 3.6)
project(tutorial)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(ITENSOR_DIR PATH/TO/ITENSOR)
include_directories(ITENSOR_DIR/itensor)
set(SOURCE_FILES
main.cpp
${ITENSOR_DIR}/itensor/itensor.h
${ITENSOR_DIR}/itensor/itensor.cc)
add_executable(tutorial ${SOURCE_FILES})
不幸的是,該項目的'教程'不構建在CLion。同樣,CLion無法解析依賴關係itensor.h。 任何人爲什麼這是一個想法,分別如何解決它?
嗨托馬斯,太棒了!感謝您的快速回復!現在它似乎工作(這意味着我得到了另一個錯誤,但這次是與lapack關聯,所以不再涉及這篇文章:))。 只是我認爲你將CMakeLists.txt中的「project(tutorial)」行換成了main.cpp(可能只是複製粘貼到帖子中)? –