gpt4 book ai didi

cmake - 在ifort编译器中使用CMake

转载 作者:行者123 更新时间:2023-12-02 04:01:31 28 4
gpt4 key购买 nike

我在具有Intel 11.0编译器的Linux机器上使用CMake 2.8.7。我想首次使用CMake,因为我想同时在Windows和Linux计算机上构建此项目。

我虽然首先使用一种简单的方法,但使用了一个标准的Hello World示例:
我的src / HelloWorld.f90:

!Test helloworld in Fortran using Cmake
program hello
print *, "Hello World!"
end program hello

我的主要CMakeLists.txt:
# States that CMake required version must be greater than 2.8.7
cmake_minimum_required(VERSION 2.8.7)
enable_language (Fortran)
project(helloworld Fortran)
add_subdirectory(src)
SET_TARGET_PROPERTIES(helloworld PROPERTIES LINKER_LANGUAGE FORTRAN)

我的src / CMakeLists.txt:
cmake_minimum_required(VERSION 2.8.7)

# Include the directory itself as a path to include directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)

# For a large number of source files you can create it in a simpler way
# using file() function:
file(GLOB helloworld_SOURCES *.f90)

我仍然收到错误消息,提示缺少CMAKE_FORTRAN_LINK_EXECUTABLE变量。我查看了 Abinader's CMake tutorial#1,但到目前为止还没有成功。

有什么建议么??提前致谢 !

最佳答案

这不是直接的答案,因为我从未将fortran与cmake一起使用,但是我可以在这里看到一些问题。

首先:您的目标helloworld在哪里定义? project不是目标。

其次:您在哪里使用helloworld_SOURCES变量?

尝试更常规的方式。在src / CMakeLists.txt文件的末尾添加以下行:

add_executable(helloworld ${helloworld_SOURCES})

还应从主要目录中删除 SET_TARGET_PROPERTIES(helloworld PROPERTIES LINKER_LANGUAGE FORTRAN),因为它不必要。

最后建议:尽量不要使用 file(GLOB )。最好手动定义所有文件的列表。

关于cmake - 在ifort编译器中使用CMake,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10322350/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com