我有一個從我的Python程序中調用的C++共享庫。 C++ lib用HDF5編譯,我在OS X上使用自制軟件安裝,所以它駐留在/usr/local/lib
中。現在的問題是,我也已經安裝PyTables,其中包括舊版本libhdf5的,在/Library/Frameworks/EPD64.framework/Versions/Current/...
OS X運行時鏈接程序查找lib的錯誤版本
我可以編譯和鏈接到我的圖書館就好了地方安裝,並otool -L
確實指向/usr/local/lib/libhdf5.dylib
。但是,當我嘗試從Python運行它時,存在版本不匹配錯誤。不知何故,運行時鏈接程序正在加載舊的hdf5庫。
一種解決方法是將hdf5構建爲靜態庫,但我希望找到更整潔的解決方案 - 我如何說服運行時鏈接程序使用更新的庫?我已經嘗試過設置DYLD_LIBRARY_PATH,但這只是打破了其他一切(Python和MacVim無法啓動)。
我在Matlab的同樣的問題的MEX文件。我希望你會找到一個我可以回收的解決方案! – Simon