我想要构建MySQL 8.0.30
,但是它失败了,出现了以下错误:
连接CXX可执行runtime_output_directory\mysqlrouter_plugin_info.exe的
3199/3567失败: runtime_output_directory/mysqlrouter_plugin_info.exe cmd.exe /C "cd“。&C:\Program Files\CMake\bin\cmake.exe“-E vs_link_exe vs_link_exe”--清单-- C:\PROGRA~1\MICROS~4\2022\ENTERP~1\VC\Tools\MSVC\1433~1.316\bin\router\src\plugin_info\src\CMakeFiles\mysqlrouter_plugin_info.dir\library_file.cc.obj router\src\plugin_info\src\CMakeFiles\mysqlrouter_plugin_info.dir\main.cc.obj router\src\plugin_info\src\CMakeFiles\mysqlrouter_plugin_info.dir\plugin_info_app.cc.obj router\src\plugin_info\src\CMakeFiles\mysqlrouter_plugin_info.dir\plugin.cc.obj Hostx64\x64\link.exe /nologo路由器\src\插件_info\src\CMakeFiles\mysqlrouter_plugin_info.dir________\versioninfo_exe.rc.res /out:runtime_output_directory\mysqlrouter_plugin_info.exe /implib:router\src\plugin_info\src\mysqlrouter_plugin_info.lib /pdb:runtime_output_directory\mysqlrouter_plugin_info.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /INCREMENTAL:NO /subsystem:console ws2_32.lib路由器\src\线束\src\线束库C:\OpenSSL\openssl-1.1.1q\static\x64\debug\lib\libsslMTd.lib C:\OpenSSL\openssl-1.1.1q\static\x64\debug\lib .lib archive_output_directory\mysys.lib archive_output_directory\strings.lib archive_output_directory\mysys.lib archive_output_directory\strings.lib archive_output_directory\mytime.lib archive_output_directory\zlib.lib archive_output_directory\zstd.lib密码32库shlwapi.lib ws2_32.lib\libcryptoMTd.lib密码32.lib内核32.lib用户32.lib gdi32.lib winspool.lib外壳32.lib ole32.lib oleauto32.lib uuid.lib comdlg32.lib Advappi32.lib && cd。链接传递1:命令"C:\PROGRA~1\MICROS~4\2022\ENTERP~1\VC\Tools\MSVC\1433~1.316\bin\Hostx64\x64\link.exe /nologo router\src\plugin_info\src\CMakeFiles\mysqlrouter_plugin_info.dir\library_file.cc.obj router\src\plugin_info\src\CMakeFiles\mysqlrouter_plugin_info.dir\main.cc.obj router\src\plugin_info\src\CMakeFiles\mysqlrouter_plugin_info.dir\plugin_info_app.cc.obj路由器\src\plugin_info\src\CMakeFiles\mysqlrouter_plugin_info.dir\plugin.cc.obj router\src\plugin_info\src\CMakeFiles\mysqlrouter_plugin_info.dir________\versioninfo_exe.rc.res /out:runtime_output_directory\mysqlrouter_plugin_info.exe /implib:router\src\plugin_info\src\mysqlrouter_plugin_info.lib /pdb:runtime_output_directory\mysqlrouter_plugin_info.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /INCREMENTAL:NO /subsystem:console ws2_32.lib路由器\src\线束\src\线束-库.x64 archive_output_directory\mysys.lib archive_output_directory\strings.lib archive_output_directory\mysys.lib archive_output_directory\strings.lib archive_output_directory\mytime.lib archive_output_directory\zlib.lib archive_output_directory\zstd.lib crypt32.lib shlwapi.lib ws2_32.lib C:\openssl\openssl-1.1.1q\静态\C:\OpenSSL\openssl-1.1.1q\static\x64\debug\lib\libcryptoMTd.lib密码32.lib内核32.lib用户32.lib gdi32.lib winspool.lib 32.lib ole32.lib uuid.lib uuid.lib 32.lib Advappi32.lib /MANIFEST /MANIFEST失败(退出代码1169),输出如下:线束库. int (线束-library.lib.int):error LNK2005:"public: int __cdecl std::basic_streambuf::pubsync(void)“(?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ)已经定义在plugin_info_app.cc.obj线束-library.dll. int (线束-library.dll.int):error LNK2005:"public: int __cdecl std::basic_streambuf:sputc(Char)“std::char_traits已经定义在plugin_info_app.cc.obj线束-library.dll.char(plugin_info_app.cc.obj-library.dll.char)中: LNK2005:"public:__int64 __cdecl std::basic_streambuf:plugin_info_app.cc.obj( const *,(?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEBD_J@Z) )“runtime_output_directory\mysqlrouter_plugin_info.exe中已经定义的plugin_info_app.cc.obj :致命错误LNK1169:一个或多个被多重定义的符号找到了连接CXX可执行runtime_output_directory\mysqld.exe忍者的3208/3567 :构建停止:子命令失败。
C:\mysql-8.0.30\build>
我使用这个命令构建MySQL:
cmake -H. -B"C:\\mysql-8.0.30\\build" -DWITH_UNIT_TESTS=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX="C:\\MySQL\\mysql-8.0.30-winx64\\debug" -DLINK_STATIC_RUNTIME_LIBRARIES=1 -DFORCE_INSOURCE_BUILD=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST="C:\\Boost" -DWITH_SSL="C:\OpenSSL\openssl-1.1.1q\static\x64\debug" -DOPENSSL_LIBRARY="C:\OpenSSL\openssl-1.1.1q\static\x64\debug\lib\libsslMTd.lib" -DCRYPTO_LIBRARY="C:\OpenSSL\openssl-1.1.1q\static\x64\debug\lib\libcryptoMTd.lib" -G "Ninja"
有什么办法解决这个问题吗?谢谢你的帮助。
发布于 2022-09-12 23:48:58
我通过在命令中添加以下选项解决了这个问题:-DWITH_ROUTER=OFF
。现在,它没有问题地编译。这个问题已经解决了。
https://stackoverflow.com/questions/73694363
复制相似问题