我發生了一些非常奇怪的情況:CMake未能選擇正確版本的g ++ 只有如果我第一次編譯項目(或者我刪除'build'文件夾) 。CMake無法識別新版本中的C++編譯器版本
因此,使用auto
時,'新鮮'編譯會帶來錯誤,但如果我再次編譯它,一切都會順利進行(直到我刪除'build'文件夾)。
在這裏,你是我的文件:
的CMakeLists.txt
file(GLOB_RECURSE SOURCES
include/*.h
src/*.cpp
)
SET(CMAKE_CXX_FLAGS "-std=c++14")
set(filename $ENV{env_filename})
cmake_minimum_required(VERSION 2.8)
project(filename)
add_executable(${filename} ${filename}.cpp ${SOURCES})
compile.sh
#!/bin/bash
clear
set -e
source filedata.txt
export env_filename=$filename
mkdir -p build && cd build
cmake .. &> /dev/null
make -B
./$filename
filedata.txt
filename="1_Example"
在此先感謝,
愛德華
我真的不明白爲什麼你需要這個shell腳本開始。 –
@BaummitAugen能夠使用簡單的'./ compile.sh'編譯和運行一個文件,而不用擔心它的名字。 – eduherminio