make pangolin 的時候報錯
oot@sun:/home/sun/ar/orb/pangolin-0.5/build# make
[ 1%] building cxx object src/cmakefiles/pangolin.dir/log/packetstream.cpp.o
/home/sun/ar/orb/pangolin-0.5/src/log/packetstream.cpp: 在函式『void pangolin::waituntilplaybacktime_us(int64_t)』中:
/home/sun/ar/orb/pangolin-0.5/src/log/packetstream.cpp:73:5: 錯誤: 『sleep_for』不是『std::this_thread』的成員
src/cmakefiles/pangolin.dir/build.make:254: recipe for target 'src/cmakefiles/pangolin.dir/log/packetstream.cpp.o' failed
make[2]: *** [src/cmakefiles/pangolin.dir/log/packetstream.cpp.o] error 1
cmakefiles/makefile2:136: recipe for target 'src/cmakefiles/pangolin.dir/all' failed
make[1]: *** [src/cmakefiles/pangolin.dir/all] error 2
makefile:127: recipe for target 'all' failed
make: *** [all] error 2
背景:為了學習c++11的多執行緒和lamda表示式的特性,公升級了gcc(從4.4.6到4.7.1),寫完thread程式編譯時卻發現還是遇到了一些問題。
原因:gcc沒有定義這個巨集:_glibcxx_use_nanosleep
解決辦法:編譯時加上選項:-d_glibcxx_use_nanosleep
或者:修改gcc的c++config.h檔案去定義這個巨集
再或者:重新安裝gcc且使用選項:
--enable-libstdcxx-time。
詳情:
(1)std::this_thread::sleep_for() and gcc
(2)來自jonathan wakely(a maintainer of the gnu c++ standard library (libstdc++
) )的回答:
what is _glibcxx_use_nanosleep all about?
see also:c++11 'yield' is not a member of 'std::this_thread'
編譯安裝 Faiss編譯安裝
相信做搜尋的朋友,對faiss並不陌生,它區別於傳統的倒排檢索,通過近似向量的方式,召回檢索資料,改善搜尋體驗。最近我司準備在生產環境中上faiss,第一步得先能完整編譯可安裝的so,於是我就上手初體驗了一把。faiss有兩種安裝方式,一種是通過conda安裝,一種通過原始碼編譯安裝,本文介紹第二種...
編譯安裝 編譯安裝php7 4 7
2.使用 tar 命令解壓php 4.configure 執行 configure 命令預編譯php,此命令會生成makefile檔案,用來配置你的安裝選項 我的configure引數 configure prefix usr local php enable fpm with openssl en...
編譯安裝 Linux編譯安裝Perl Tk模組
perl語言擁有很強的正則,相較cshell在genesis,incam指令碼中有更多的靈活性,使用tk可以編寫出媲美windows的圖形介面。預設沒有安裝相關圖形模組如tk等,需要編譯安裝,本文以centos 6.10環境為例說明。安裝系統編譯工具,在系統聯網的情況下,切換root使用者,輸入 執...