したがって、semaphore.hヘッダをインクルードしていても、 "未定義のsem_open()"というエラーが発生します。同じことがすべてのpthread関数呼び出し(mutex、pthread_createなど)で起こっています。何かご意見は?私はコンパイルするには、次のコマンドを使用しています:sem_open()エラー: "undefined reference to sem_open()" on Linux(Ubuntu 10.10)
グラムを++ヘッダを含む '/home/robin/Desktop/main.cpp' -o '/home/robin/Desktop/main.out'
#include <iostream>
using namespace std;
#include <pthread.h>
#include <semaphore.h>
#include <fcntl.h>
const char *serverControl = "/serverControl";
sem_t* semID;
int main (int argc, char *argv[])
{
//create semaphore used to control servers
semID = sem_open(serverControl,O_CREAT,O_RDWR,0);
return 0;
}
正解は-rtです。 – cateof