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

时间:2019-02-24 22:52:00

标签: c++ mysql-connector

我希望能够以调试模式(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构建时...

cmake --build . --config

此输出失败...

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文件放在某个地方?我确实有它的副本,但不确定应如何包含它。还是更复杂?即我还需要先在计算机上构建Open SSL吗?对我来说这是一个深兔子洞,我可能在头顶上哈哈!

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

1 个答案:

答案 0 :(得分:1)

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

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

    以下是MSVS链接器选项:

    https://docs.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

请告诉我这是否有帮助。