2013-11-22 51 views
1

我的問題是特定於FTDI的庫libMPSSE,以便在Linux上使用USB轉串口(SPI,I2C等)適配器。FTDI的libMPSSE「遇到NULL表達式」

當我執行任何與庫鏈接的程序時,調用Init_libMPSSE()方法(無需顯式調用)並引發以下消息。

../../Infra/src/ftdi_infra.c:243:Init_libMPSSE(): NULL expression encountered 

有沒有人遇到過這個問題,並找到了解決方法?

謝謝。

回答

1

當libMPSSE無法打開libftd2xx.so共享庫時,會出現此錯誤。您需要將LD_LIBRARY_PATH設置爲安裝此庫的路徑。例如,如果庫是在/ usr/local/lib目錄,你會像這樣運行SPI靜態例子:

sudo LD_LIBRARY_PATH=/usr/local/lib ./sample-static.o 
+0

我的解決方法是調用的dlopen和dlclose爲libftd2xx.so,以確保此共享庫可用前調用Init_libMPSSE()。 這對我很重要,因爲如果無法加載共享庫,Init_libMPSSE()會調用exit(1)來結束程序,我不希望發生這種情況。 您可以從這裏下載LibMPSSE-I2C源代碼以查看Init_libMPSSE()的工作方式: http://www.ftdichip.com/Support/SoftwareExamples/MPSSE/LibMPSSE-I2C.htm –