# 如何在vscode设置类似cmake -D?
创建vscode文件夹,下创建settings.json,添加以下内容:
{
"cmake.configureArgs": [
"-DBUILD_CONFIG=mysql_release",
"-DCPACK_MONOLITHIC_INSTALL=ON",
"-DCMAKE_INSTALL_PREFIX=/usr/local/mysql",
"-DDEFAULT_CHARSET=utf8",
"-DDEFAULT_COLLATION=utf8_general_ci",
"-DMYSQLX_TCP_PORT=33060",
"-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock",
"-DMYSQL_TCP_PORT=3306",
"-DMYSQLX_UNIX_ADDR=/usr/local/mysql/mysqlx.sock",
"-DMYSQL_DATADIR=/usr/local/mysql/data",
"-DSYSCONFDIR=/usr/local/mysql/etc",
"-DENABLE_DOWNLOADS=ON",
"-DWITH_BOOST=/usr/local/boost_1_59_0"
]
}
# 编译完成后打开源文件,文件头出现Unknown argument: '-fabi-version=2'clang(drv_unknown_argument)错误
> 原因
使用cmake默认使用了gcc套件进行编译,有些clang参数不支持。
> 解决办法
- cmake使用clang作为编译器。
在 cmake 命令后附加 -DCMAKE_CXX_COMPILER=clang -DCMAKE_C_COMPILER=clang ;
或者在 CMakeLists.txt 文件中添加:
set(CMAKE_C_COMPILER clang)
set(CMAKE_CXX_COMPILER clang)
# cmake使用clang作为编译器,出现 clang is not able to compile a simple test program
> 原因
这里并不明白,clang好像和gcc有依赖关系。
要C++库的开发库和头文件
> 解决办法
sudo apt install libstdc++-12-dev
安装和自己gcc版本相符的开发包。
# 总结
本来就是想编译下MySQL5.7版本的源码调试学习下,没想到这么多麻烦,c++环境配置还是难呀。