[zz@localhost trunk]$ x86_64-w64-mingw32-gcc word2vec.c -o word2vec.exe
word2vec.c:19:10: error: #include expects "FILENAME" or <FILENAME>
#include pthread.h
^
word2vec.c:46:1: error: unknown type name 'clock_t'
clock_t start;
^
word2vec.c: In function 'TrainModelThread':
word2vec.c:368:3: error: unknown type name 'clock_t'
clock_t now;
^
word2vec.c:381:63: error: 'CLOCKS_PER_SEC' undeclared (first use in this function)
word_count_actual / ((real)(now - start + 1) / (real)CLOCKS_PER_SEC * 1000));
^
word2vec.c:381:63: note: each undeclared identifier is reported only once for each function it appears in
word2vec.c: In function 'TrainModel':
word2vec.c:547:3: error: unknown type name 'pthread_t'
pthread_t *pt = (pthread_t *)malloc(num_threads * sizeof(pthread_t));
^
word2vec.c:547:20: error: 'pthread_t' undeclared (first use in this function)
pthread_t *pt = (pthread_t *)malloc(num_threads * sizeof(pthread_t));
^
word2vec.c:547:31: error: expected expression before ')' token
pthread_t *pt = (pthread_t *)malloc(num_threads * sizeof(pthread_t));
^
word2vec.c:556:84: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
for (a = 0; a < num_threads; a++) pthread_create(&pt[a], NULL, TrainModelThread, (void *)a);
^
[zz@localhost trunk]$ x86_64-w64-mingw32-gcc word2vec.c -o word2vec.exe
word2vec.c:46:1: error: unknown type name 'clock_t'
clock_t start;
^
word2vec.c: In function 'TrainModelThread':
word2vec.c:368:3: error: unknown type name 'clock_t'
clock_t now;
^
word2vec.c:381:63: error: 'CLOCKS_PER_SEC' undeclared (first use in this function)
word_count_actual / ((real)(now - start + 1) / (real)CLOCKS_PER_SEC * 1000));
^
word2vec.c:381:63: note: each undeclared identifier is reported only once for each function it appears in
word2vec.c: In function 'TrainModel':
word2vec.c:556:84: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
for (a = 0; a < num_threads; a++) pthread_create(&pt[a], NULL, TrainModelThread, (void *)a);
^
第一次在 centos 下编译 exe。
出现这种错误,不知道怎么办??
直接 make 出来的,可以运行。但我想要在 win 下的。
谢谢
有pthread.h
[zz@localhost trunk]$ x86_64-w64-mingw32-gcc word2vec.c -o word2vec.exe
word2vec.c:46:1: error: unknown type name 'clock_t'
clock_t start;
^
word2vec.c: In function 'TrainModelThread':
word2vec.c:368:3: error: unknown type name 'clock_t'
clock_t now;
^
word2vec.c:381:63: error: 'CLOCKS_PER_SEC' undeclared (first use in this function)
word_count_actual / ((real)(now - start + 1) / (real)CLOCKS_PER_SEC * 1000));
^
word2vec.c:381:63: note: each undeclared identifier is reported only once for each function it appears in
word2vec.c: In function 'TrainModel':
word2vec.c:556:84: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
for (a = 0; a < num_threads; a++) pthread_create(&pt[a], NULL, TrainModelThread, (void *)a);
^
这是加了pthread.h后的错误。
1
visitant 2018-10-05 17:52:13 +08:00 via iPad
看起来是需要链接 pthread 库啊,windows+pthread 搜索一下吧
|
2
visitant 2018-10-06 01:33:34 +08:00 via iPad
clock_t 这个类型好像在标准库里就有,试下包含 windows.h 头文件,而且直接在 win 下编译不好吗,非要交叉编译不可?
|
3
msg7086 2018-10-06 04:35:30 +08:00
其实我还是建议你先在 Windows 版的 mingw 里试试……
|
4
shiyouming91 2018-10-06 08:53:37 +08:00 via iPhone
include time.h 了么?
|