ubuntu 14 下luabind編譯安裝

luabind 下載官網的luabind-0.9.1.tar.gz

1.安裝boost (官網最新1.61)

   基本的安裝在boost的README或者INSTALL裏面都有,不多說


2.安裝lua(官網下載5.1)

   我安裝了5.1 ,5.2,5.3 

   只有安裝5.1的時候,luabind纔可以編譯通過(鬼知道)

   問題:

   64位機器需要在src/Makefile下面CFLAGS裏添加加上-fPIC,不然後面luabind編譯時候會出現下面

   /usr/bin/ld: /usr/local/lib/liblua.a(lapi.o):

   relocation R_X86_64_32 against `luaO_nilobject_' can not be used when making a shared object;

   recompile with -fPIC

   /usr/local/lib/liblua.a: could not read symbols: Bad value


3.編譯luabind

   基本就是一個bjam

   難解決的問題兩個:

    1.object.hpp:556: error: no matching function for call to ‘operator==( ... 

      最終就是LUABIND_OPERATOR_ADL_WKND(==) 這兩行,我直接註釋了(只爲編譯過。。。)

      //LUABIND_OPERATOR_ADL_WKND(==)
 
    //LUABIND_OPERATOR_ADL_WKND(!=)

    2.call_member.hpp:319: error: missing binary operator before token "(" ... 

     這個問題網上可以搜到,是宏定義用了

     #elif BOOST_PP_ITERATION_DEPTH() == 1 

     ... 

    #endif

    修改方式是拆分:

    #else

    #if BOOST_PP_ITERATION_DEPTH() == 1

    ... 

   #endif

   #endif


然後在使用bjam 和 bjam install

 編譯安裝可以通過


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章