提问人:Ali Assar 提问时间:12/3/2022 最后编辑:Ali Assar 更新时间:12/3/2022 访问量:208
CAMKE 的 net-SNMP 链接器错误(未定义引用)
net-snmp linker error with camke (undefined reference to)
问:
我在将net-snmp库与CMake链接时遇到问题。我根据 readme.win32 文件中的说明使用 MinGW 成功构建了库,现在我想运行 snmpdemoapp(示例演示代码)。但是,我无法正确链接库。
我在下面编写了 CMake 以将库链接到我的代码,并且它正确生成,但是当我尝试构建以下内容时,会出现错误。
cmake_minimum_required(VERSION 3.18.2)
project("PROJECT_NAME")
INCLUDE_DIRECTORIES(C:/nsnmp/include)
find_library(NETSNMPAGENT "netsnmpagent")
find_library(NETSNMPMIBS "netsnmpmibs")
find_library(NETSNMP "netsnmp")
add_executable("${PROJECT_NAME}" Main.c)
target_link_libraries("${PROJECT_NAME}" ${NETSNMPAGENT} ${NETSNMPMIBS} ${NETSNMP})
[main] Building folder: Psnmp
[build] Starting build
[proc] Executing command: "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" --build c:/Users/Hanaei/Desktop/Psnmp/build --config Debug --target all --
[build] [1/1 100% :: 0.354] Linking C executable PROJECT_NAME.exe
[build] FAILED: PROJECT_NAME.exe
[build] cmd.exe /C "cd . && C:\msys64\mingw64\bin\gcc.exe -g CMakeFiles/PROJECT_NAME.dir/Main.c.obj -o PROJECT_NAME.exe -Wl,--out-implib,libPROJECT_NAME.dll.a -Wl,--major-image-version,0,--minor-image-version,0 C:/nsnmp/lib/libnetsnmpagent.a C:/nsnmp/lib/libnetsnmpmibs.a C:/nsnmp/lib/libnetsnmp.a -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
[build] C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/nsnmp/lib/libnetsnmp.a(mib.o): in function `dump_realloc_oid_to_inetaddress':
[build] C:\Users\Hanaei\Downloads\net-snmp-5.9.3\snmplib/mib.c:4085: undefined reference to `__imp_ntohl'
[build] C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/nsnmp/lib/libnetsnmp.a(mib.o): in function `parse_one_oid_index':
[build] C:\Users\Hanaei\Downloads\net-snmp-5.9.3\snmplib/mib.c:3877: undefined reference to `__imp_htonl'
[build] C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/nsnmp/lib/libnetsnmp.a(parse.o): in function `compute_match':
[build] C:\Users\Hanaei\Downloads\net-snmp-5.9.3\snmplib/parse.c:1294: undefined reference to `regcomp'
[build] C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\Hanaei\Downloads\net-snmp-5.9.3\snmplib/parse.c:1297: undefined reference to `regfree'
[build] C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\Hanaei\Downloads\net-snmp-5.9.3\snmplib/parse.c:1296: undefined reference to `regexec'
[build] C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\Hanaei\Downloads\net-snmp-5.9.3\snmplib/parse.c:1297: undefined reference to `regfree'
[build] C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/nsnmp/lib/libnetsnmp.a(snmp_api.o): in function `_sess_open':
[build] C:\Users\Hanaei\Downloads\net-snmp-5.9.3\snmplib/snmp_api.c:1699: undefined reference to `__imp_setsockopt'
[build] C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/nsnmp/lib/libnetsnmp.a(snmp_api.o): in function `snmp_add_var':
[build] C:\Users\Hanaei\Downloads\net-snmp-5.9.3\snmplib/snmp_api.c:7514: undefined reference to `__imp_inet_addr'
[build] C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/nsnmp/lib/libnetsnmp.a(asn1.o): in function `asn_parse_float':
[build] C:\Users\Hanaei\Downloads\net-snmp-5.9.3\snmplib/asn1.c:2554: undefined reference to `__imp_ntohl'
[build] C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/nsnmp/lib/libnetsnmp.a(asn1.o): in function `asn_build_float':
[build] C:\Users\Hanaei\Downloads\net-snmp-5.9.3\snmplib/asn1.c:2628: undefined reference to `__imp_htonl'
[build] C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/nsnmp/lib/libnetsnmp.a(asn1.o): in function `asn_parse_double':
[build] C:\Users\Hanaei\Downloads\net-snmp-5.9.3\snmplib/asn1.c:2745: undefined reference to `__imp_ntohl'
[build] C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/nsnmp/lib/libnetsnmp.a(asn1.o): in function `asn_build_double':
[build] C:\Users\Hanaei\Downloads\net-snmp-5.9.3\snmplib/asn1.c:2823: undefined reference to `__imp_htonl'
[build] C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/nsnmp/lib/libnetsnmp.a(asn1.o): in function `asn_realloc_rbuild_float':
[build] C:\Users\Hanaei\Downloads\net-snmp-5.9.3\snmplib/asn1.c:3859: undefined reference to `__imp_htonl'
[build] C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/nsnmp/lib/libnetsnmp.a(asn1.o): in function `asn_realloc_rbuild_double':
[build] C:\Users\Hanaei\Downloads\net-snmp-5.9.3\snmplib/asn1.c:3937: undefined reference to `__imp_htonl'
[build] C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/nsnmp/lib/libnetsnmp.a(system.o): in function `get_myaddr':
答: 暂无答案
上一个:如何在程序中正确使用 SDL2?
评论