c++ - 尝试在 Windows 上构建 mysql-connector-cpp

标签 c++ mysql-connector

我希望能够在 Debug模式 (VS2k17) 中构建 mysql-connector/c++ 应用程序,并且了解我能做到这一点的唯一方法是首先从源代码构建 mysql-connector-cpp在我的电脑上(Windows 10/64 位)。我尝试了以下方法:

cmake 。 -DWITH_SSL=C:\Users\Rawb\source\libraries\OpenSSL-Win64

看起来成功完成了......

Install location: C:/Users/Rawb/MySQL/MySQL Connector C++ 8.0
Connector libraries will be installed at: lib
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/Rawb/source/repos/mcc2/mysql-connector-cpp

但是当我运行以下 cmake build 时......

cmake --build 。 --配置

此输出失败...

LINK : fatal error LNK1104: cannot open file 'ssleay32.lib' [C:\Users\Rawb\source\repos\mcc2\mysql-connector-cpp\connector.vcxproj]
Done Building Project "C:\Users\Rawb\source\repos\mcc2\mysql-connector-cpp\connector.vcxproj" (default targets) -- FAILED.
Done Building Project "C:\Users\Rawb\source\repos\mcc2\mysql-connector-cpp\ALL_BUILD.vcxproj" (default targets) -- FAILED.
Build FAILED.

"C:\Users\Rawb\source\repos\mcc2\mysql-connector-cpp\ALL_BUILD.vcxproj" (default target) (1) ->
"C:\Users\Rawb\source\repos\mcc2\mysql-connector-cpp\connector.vcxproj" (default target) (10) ->
(Link target) ->
LINK : fatal error LNK1104: cannot open file 'ssleay32.lib' [C:\Users\Rawb\source\repos\mcc2\mysql-connector-cpp\connector.vcxproj]
0 Warning(s)
1 Error(s)

Time Elapsed 00:00:14.57

我可能做错了什么?我是否只需要将 ssleay32.lib 文件放在某个地方?我确实有它的拷贝,但不确定应该如何包含它。还是更复杂? IE。我是否也需要先在我的机器上构建 Open SSL?这对我来说是一个很深的兔子洞,我可能会在我的头上哈哈!

注意:我也在 reddit 上问过这个问题,但运气不佳,所以希望这里有人知道。

最佳答案

  1. 如果您使用的是 MSVS(任何版本,包括 MSVS 2017),那么我建议您使用“NMake”(而不是 cmake)。或者只是在 MSVS IDE 中创建一个新的 C/C++ 库项目。

  2. 您要查找的标志是 /LIBPATH。我认为您不需要“-D”,但您肯定需要“/LIBPATH”。

    这里是 MSVS 链接器选项:

    https://learn.microsoft.com/en-us/cpp/build/reference/linker-options?view=vs-2017

  3. 最后,您可能能够执行所有您想要的故障排除/跟踪,而无需实际调试(和重建)连接器代码。

    以下是在 MySQL 连接器中启用跟踪的方法:

    https://dev.mysql.com/doc/connector-cpp/1.1/en/connector-cpp-debug-tracing.html

如果这有帮助,请告诉我。

关于c++ - 尝试在 Windows 上构建 mysql-connector-cpp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54857347/

相关文章:

c++ - 使用 SWIG 实现 C++ 和 Ruby 之间的多态性

c++ - QPixmap/QImage 窗口的最大尺寸

c++ - 我可以强制 MySQL 以二进制形式传输数值吗?

mysql - 如何使用 c3p0 进行节点故障转移测试

javascript - mysql安装后无法解析fs、net、tls

c++ - 将 3 个数字数据压缩为一个字节

c++ - 为什么分解声明不能是 constexpr?

C++ 中的 Javas Class<?> 等价物

mysql - X DevAPI 与连接器和 API 之间有什么区别?

c++ - Mysql 连接器 C++ 无缓冲结果集 C++