首先介绍一下背景,我已经有 10 多年没有用 C 编程了,但现在我有一个想做的副项目。 我曾经在 MS Visual Studio 或 Linux 上使用 Code::Block 进行编码,它的美妙之处在于我不关心如何构建,它只是构建,所以我可以专注于我的代码。
不,我想使用 VSCode,因为这是我做 JavaScript 项目和其他东西的第一个 IDE。我可以编译一个简单的 C 文件,但是包含更多 c/h 文件的更复杂的项目对我来说失败了。我尝试了各种扩展,例如 Make、CMake……但没有成功。
我在这上面浪费了一天的时间,所以我希望你能帮助我完成以下项目结构:
project_folder
|
-- main.c
|
-- src/
| |
-- engine.c
|
-- include/
| |
| --core/
| |
| -- engine.h
main.c:
-----------
#include <core/engine.h>
int main() {
...
...
}
当我尝试编译时,它找不到
让我们暂时忽略 vscode。如果您有一个可用的 cmake 项目,您可以从该项目向后工作并将其导入到 vscode 中。
在您的文件夹
project_folder
下,您应该创建了一个CMakeLists.txt
文件。在这个文件中你应该有类似的东西
cmake_minimum_required(VERSION 3.28)
project(c_solution C)
set(CMAKE_C_STANDARD 99)
add_executable(c_solution src/engine.c)
target_include_directories(c_solution PRIVATE include)
或等效的东西,假设引擎是可执行文件而不是库。
鉴于您处于
project_folder
,那么您应该能够运行
mkdir build
cd build
cmake ..
cmake --build .
并且可执行二进制文件应该位于您的
project_folder/build
文件夹中。
从这里您可以将解决方案导入 vscode 并使用他们的插件。它将插入到已经创建的 cmake 项目中。
也就是说,我强烈建议研究如何 cmake 作为 vscode 之外的构建工具,因为它只是一个 ide,而 cmake 是一个独立的构建工具。