我希望能够以调试模式(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上问过这个问题,但没有运气,所以希望这里有人知道。
答案 0 :(得分:1)
如果您正在使用MSVS(任何版本,包括MSVS 2017),那么我建议您使用“ NMake”(而不是cmake)。或者只是在MSVS IDE中创建一个新的C / C ++库项目。
您要查找的标志是/LIBPATH
。我认为您不需要“ -D”,但是您肯定地需要“ / LIBPATH”。
以下是MSVS链接器选项:
https://docs.microsoft.com/en-us/cpp/build/reference/linker-options?view=vs-2017
最后,您可能可以进行所有想要的故障排除/跟踪,而无需 实际调试(和重建)连接器代码。
以下是在MySQL连接器中启用跟踪的方法:
https://dev.mysql.com/doc/connector-cpp/1.1/en/connector-cpp-debug-tracing.html
请告诉我这是否有帮助。