gpt4 book ai didi

c++ - 在 CLion 中链接到 C++ 的 C 代码不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 06:57:32 24 4
gpt4 key购买 nike

我知道有很多帖子,但是浏览了很多帖子我发现没有任何效果。

我想将一些 .h 和 .c 文件包含到我的 C++ 文件中。

点击进入 CLion 中的方法,它会将我重定向到那个 foo.h 文件,但最后它无法使用以下消息:

架构 x86_64 的 undefined symbol : “_fooFct”,引用自: _main 在 main.cpp.o 中ld:找不到体系结构 x86_64 的符号

foo.h

 void fooFct();

foo.c

void fooFct(){
/* do some stuff here */
}

main.cpp

#include <iostream>

extern "C"
{
#include "clibraryFolder/header/foo.h"
}

int main() {
fooFct();
return 0;
}

CMakeLists.txt

 cmake_minimum_required(VERSION 3.6)
project(newcsample)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(SOURCE_FILES main.cpp)
add_executable(newcsample ${SOURCE_FILES})

但我不想在 CMakeFiles.txt 中包含 C 文件。除了编辑 CMakeFiles 之外,还有其他方法吗?

最佳答案

在您的 CMakeLists.txt 文件中进行以下更改

 cmake_minimum_required(VERSION 3.6)
project(newcsample)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(SOURCE_FILES main.cpp foo.c) #all .cpp files and .c files here
add_executable(newcsample ${SOURCE_FILES})

如果 .h 文件存在,您可以仅指定当前目录。

关于c++ - 在 CLion 中链接到 C++ 的 C 代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42282321/

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