2013-12-22 44 views
0

我正在使用運行Linux(內核版本3.0)的Xililnx borad。電路板上配置了一個微型電池。Microblaze交叉編譯器無法找到clock_gettime

我的主機運行Ubuntu 12.04 X86_64,並安裝了工具鏈(tools-4.1.2-mb-ctng-v1.4-x86_64.tar.bz2)。

我編寫了一個用戶模式應用程序,並嘗試使用clock_gettime來衡量其性能。我包括time.h(也試過sys/time.h)。但是,當我嘗試編譯它,編譯器總是給我錯誤,「隱函數時鐘gettime」

我試着在我的代碼中定義_POSIX_C_SOURCE> = 199309L,但它說_POSIX_C_SOURCE已經定義。

我使用eclipse作爲我的IDE,並設置了交叉編譯環境。

有什麼建議嗎?我還有一個問題,我在哪裏可以找到我的程序的嵌入式Linux頭文件和庫?交叉編譯器是否照顧它?

謝謝

+0

你可以使用'#undef'嗎? –

回答

1

您的工具鏈可能不支持此功能。檢查_POSIX_TIMERS中的unistd.h是否具有大於0的值。這表示clock_*函數可用。作爲一種故障安全方法,如果不支持前者,則可以使用clock(),代價可能更低。