windows编译的库无法在其他机器上使用

在别的机器上编译过的libprotobuf.lib和libconfig.lib不能在其他机器上使用。

编译时libprotobuf静态库会提示无法解析外部符号的错误。

链接时libconfig.lib动态库链接到libconfig++d.dll时会提示内存错误信息。

原因有多种:

比如编译lib库的计算机为32位的,而是用lib的计算机为64位,可能造成此问题;

还有可能是编译lib库的vs版本和使用lib的vs的版本不同(因为vs使用的sdk版本不同);


要想正确使用,最好能在使用lib的目标机器上编译一份lib文件。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Windows平台下,使用IntelliJ IDEA编译并调试MySQL源码可以按照以下步骤进行: 1. 安装CMake工具 MySQL源码需要使用CMake工具生成Makefile文件,然后再使用Make命令来编译。在Windows平台下,可以从CMake官网下载CMake安装包进行安装。 2. 下载MySQL源码 可以从MySQL官网下载MySQL源码压缩包。 3. 生成Makefile文件 在MySQL源码目录下,使用CMake工具生成Makefile文件。可以在终端(CMD或PowerShell)中执行以下命令: ``` cmake -G "Visual Studio 16 2019" -A x64 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=./boost -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_UNIT_TESTS=OFF -DWITH_EMBEDDED_SERVER=OFF . ``` 其中,-G参数指定生成的Makefile文件类型,这里使用的是Visual Studio 2019的Makefile文件。-A参数指定构建的目标平台是x64。-DDOWNLOAD_BOOST=1表示需要下载并编译Boost,-DWITH_BOOST=./boost指定Boost的路径。-DWITH_SSL=system和-DWITH_ZLIB=system表示使用系统安装的OpenSSL和Zlib。-DWITH_UNIT_TESTS=OFF表示不编译单元测试代码。-DWITH_EMBEDDED_SERVER=OFF表示不编译嵌入式服务器代码。 执行完命令后,会在MySQL源码目录下生成相应的Makefile文件。 4. 使用Visual Studio编译MySQL源码 使用Visual Studio打开MySQL源码目录下的`mysql.sln`文件,然后编译整个解决方案。编译完成后,会在MySQL源码目录下生成相应的二进制文件。 5. 使用IntelliJ IDEA进行调试 打开IntelliJ IDEA,创建一个新的C++项目,然后将MySQL源码目录下的`sql`目录导入到项目中。在IntelliJ IDEA中配置调试器,并设置断点进行调试。 需要注意的是,由于MySQL是一个大型的项目,编译和调试可能需要较长的时间和较高的机器配置。同时,还需要对MySQL的代码结构和逻辑有一定的了解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值