2014-03-29 88 views
0

我想編譯一個C庫,並在執行時收到警告。雖然編譯的庫運行正常,但我仍然對警告有些擔憂。我搜索了所有的警告,但相關的搜索結果很難得到。編譯C庫時的警告

的警告是:

main(){printf("osx%d", (int) (sizeof(void *)*8));} ^~~~ 1 warning generated. clang: warning: argument unused during compilation: '-s'

這個警告是在我用來編譯庫中的shell腳本。有人能告訴我什麼'的'標誌是什麼,我可以如何刪除此警告?

下一個警告:

warning: unknown warning option '-Wno-long-double'; did you mean '-Wno-long-long'? [-Wunknown-warning-option]

和下一個, /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: fortify.o has no symbols clang: warning: argument unused during compilation: '-s'

反正沉默這些警告?

+1

你用什麼命令編譯?不要使用'-s'' -Wno-long-double'選項。 –

+0

哦,我剛剛注意到'xcode'標誌!我記得,在單擊UI左側的項目名稱之後,可以找到「Build Settings」。像這樣:https://developer.apple.com/library/mac/recipes/xcode_help-project_editor/Articles/Adding%20a%20Compiler%20Flag%20to%20a%20File.html有很多表單,其中之一讓你改變給編譯器的命令行參數。 –

+0

@BuellaGábor我使用了shell命令'sh ccc.osx'。源代碼帶有'ccc.osx'文件。我使用命令行編譯這個。 – Morpheus

回答

1

查看gcc手冊,瞭解每個選項應該執行的操作。

AFAICT,不接受這些標誌的clang不會導致構建的可執行文件發生任何故障。

摘錄:

  • -s:從可執行文件刪除所有符號表和重定位信息。 (鏈接器)
  • -Wno-long-double:看起來有人想禁用long double。找不到最新的GCC。機會是代碼不包含這樣的反正。