mac 上使用 vscode 开发c++ 代码。针对多目录编译配置的问题做一个demo。记录一下遇到的问题。 首先需要安装插件 C/C++ IntelliSense Code Runner 【非必须。如果需要右键run 建议安装】 说明:本教程未使用cmake 编译。 仅仅使用了依赖.vscode 的配置文件编译 & 右键编译+运行。一、项目结构
vscode_jni .vscode c_cpp_properties.json launch.json setting.json tasks.json api demo.hpp core demo.cpp target main.cpp二、测试代码 c_cpp_properties.json 修改部分
{
"configurations": [
{
"name": "macos-gcc-x64",
"includePath": [
"${workspaceFolder}/api",
"${workspaceFolder}
public:
int add2sum(int a, int b);
};
#endif
demo.cpp
#includemain.cpp#include "demo.hpp" using namespace std; int demo::add2sum(int a, int b) { std::cout << "demo::add2sum" << std::endl; return a + b; }
#include "demo.hpp"
int main()
{
demo d1;
d1.add2sum(1, 5);
return 0;
}
三、调试
shift+command+B 编译
首先打开 main.cpp 使用快捷键 shift+command+B 编译
如果运行成功可以看到如下显示【如果出错自行调正 task.json 配置信息】
Executing task: g++ /Users/XXX/Downloads/workspace/c++/vscode_jni/core/*.cpp main.cpp -I/Users/XXX/Downloads/workspace/c++/vscode_jni/api -o /Users/XXX/Downloads/workspace/c++/vscode_jni/target/main.o -g -Wall -fexec-charset=UTF-8 -std=c++11 <
控制台 进入 cd /Users/XXX/Downloads/workspace/c++/vscode_jni/
执行 ./main.o
一切顺利可以看到
“demo::add2sum ”
为了和上述编译区分开来 这里生成的文件后缀使用 so
打开 code runner的 Executor Map 下的 setting.json
添加如下配置
"code-runner.executorMap": {
"cpp":"g++ $dircore/*.cpp main.cpp -I$dirapi -o $dirtarget/$fileNameWithoutExt.so && $dirtarget/$fileNameWithoutExt.so"
},
此时打开 main.cpp 使用右键 Run code 即可执行
一切正常可以在控制台看到
“demo::add2sum ”
PS:调试过程中在这一步遇到 main.cpp 引入头文件 爆红的问题,鼠标放上去提示 “… configurationProvider 显示…”。 当时 使用快捷键 Shift+command+P 然后输入 configurationProvider 直接禁用掉了。
代码地址 :「部分配置有改动」
https://gitee.com/Mylomen/vscode_jni



