0
我是LDNS的新手。我按照它们在自述文件中显示的方法安装了ldns。我尝试过使用他们的sample code,但每当我使用g ++ file.cpp进行编译时,出现以下错误。LDNS:未定义的变量引用(C++)
在MACOS上使用Ubuntu上的虚拟盒子。
/tmp/ccxvsMSZ.o: In function `main':
dns.cpp:(.text+0x1e): undefined reference to `ldns_dname_new_frm_str'
dns.cpp:(.text+0x33): undefined reference to `ldns_resolver_new_frm_file'
dns.cpp:(.text+0x56): undefined reference to `ldns_resolver_query'
dns.cpp:(.text+0x70): undefined reference to `ldns_pkt_rr_list_by_type'
dns.cpp:(.text+0x80): undefined reference to `ldns_rr_list_sort'
dns.cpp:(.text+0x96): undefined reference to `ldns_rr_list_print'
dns.cpp:(.text+0xa2): undefined reference to `ldns_rr_list_deep_free'
dns.cpp:(.text+0xae): undefined reference to `ldns_pkt_free'
dns.cpp:(.text+0xba): undefined reference to `ldns_resolver_deep_free'
collect2: error: ld returned 1 exit status
任何想法我可能做错了什么?
P.S .:在MAC上尝试运行代码,但出现以下错误。
Undefined symbols for architecture x86_64:
"_ldns_dname_new_frm_str", referenced from:
_main in dns-9f53eb.o
"_ldns_pkt_free", referenced from:
_main in dns-9f53eb.o
"_ldns_pkt_rr_list_by_type", referenced from:
_main in dns-9f53eb.o
"_ldns_resolver_deep_free", referenced from:
_main in dns-9f53eb.o
"_ldns_resolver_new_frm_file", referenced from:
_main in dns-9f53eb.o
"_ldns_resolver_query", referenced from:
_main in dns-9f53eb.o
"_ldns_rr_list_deep_free", referenced from:
_main in dns-9f53eb.o
"_ldns_rr_list_print", referenced from:
_main in dns-9f53eb.o
"_ldns_rr_list_sort", referenced from:
_main in dns-9f53eb.o
ld: symbol(s) not found for architecture x86_64
您需要链接到包含这些符号的库。确定它的位置,以及编译器的语法是与库链接的。 – 2015-03-19 03:44:56
我认为在配置和制作下载的文件时,库将被链接。不是吗? – 2015-03-19 07:22:24
'g ++ file.cpp'不链接任何库 – 2015-03-19 07:25:27