对 'uuid_generate' 的未定义引用,即使我使用 -luuid
undefined reference to 'uuid_generate' even though I use -luuid
我的test.cpp
#include <uuid/uuid.h>
#include <iostream>
int main(int argc, char *argv[])
{
uuid_t id;
uuid_generate(id);
char *string = new char[100];
uuid_unparse(id, string);
std::cout << string << std::endl;
return 0;
}
我正在使用 Ubuntu 14
我是 运行 我的 test.cpp 作为...
g++ -luuid test.cpp
和输出
test.cpp:(.text+0x26): undefined reference to `uuid_generate'
test.cpp:(.text+0x47): undefined reference to `uuid_unparse'
collect2: error: ld returned 1 exit status
我的 g++ 版本:
Target: x86_64-linux-gnu
gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
并且我已经安装了 uuid-dev。
sudo apt-get install uuid uuid-dev
uuid is already the newest version.
uuid-dev is already the newest version.
链接库的顺序很重要,您需要在引用的模块之后添加 -luuid
:
g++ test.cpp -luuid
除非您使用分组选项 (-Wl,--start-group
,-Wl,--end-group
)。
另请参阅 this answer 了解更多详细信息。
我的test.cpp
#include <uuid/uuid.h>
#include <iostream>
int main(int argc, char *argv[])
{
uuid_t id;
uuid_generate(id);
char *string = new char[100];
uuid_unparse(id, string);
std::cout << string << std::endl;
return 0;
}
我正在使用 Ubuntu 14
我是 运行 我的 test.cpp 作为...
g++ -luuid test.cpp
和输出
test.cpp:(.text+0x26): undefined reference to `uuid_generate'
test.cpp:(.text+0x47): undefined reference to `uuid_unparse'
collect2: error: ld returned 1 exit status
我的 g++ 版本:
Target: x86_64-linux-gnu
gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
并且我已经安装了 uuid-dev。
sudo apt-get install uuid uuid-dev
uuid is already the newest version.
uuid-dev is already the newest version.
链接库的顺序很重要,您需要在引用的模块之后添加 -luuid
:
g++ test.cpp -luuid
除非您使用分组选项 (-Wl,--start-group
,-Wl,--end-group
)。
另请参阅 this answer 了解更多详细信息。