Undefined reference to 'uuid_generate' although I am using -luuid
My 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;
}
I am using Ubuntu 14
I am running my test.cpp as ...
g++ -luuid test.cpp
and exit
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
My g ++ version:
Target: x86_64-linux-gnu
gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
and I already have uuid-dev installed.
sudo apt-get install uuid uuid-dev
uuid is already the newest version.
uuid-dev is already the newest version.
+3
source to share
1 answer
The order of the linked libraries is important, you need to add -luuid
after the module it refers to:
g++ test.cpp -luuid
unless you use the grouping options ( -Wl,--start-group
, -Wl,--end-group
).
See this answer for details .
+3
source to share