ダウンロードしたSCONSの「makereplacement」とFastLightToolKitGuiを使用するアプリケーションを作成しようとしています。
fltkの存在を検出するためのSConstructコードは次のとおりです。
guienv = Environment(CPPFLAGS = '')
guiconf = Configure(guienv)
if not guiconf.CheckLibWithHeader('lo', 'lo/lo.h','c'):
print 'Did not find liblo for OSC, exiting!'
Exit(1)
if not guiconf.CheckLibWithHeader('fltk', 'FL/Fl.H','c++'):
print 'Did not find FLTK for the gui, exiting!'
Exit(1)
残念ながら、私の(Gentoo Linux)システムや他の多くの(Linuxディストリビューション)では、パッケージマネージャーがFLTK-1とFLTK-2の同時インストールを許可している場合、これは非常に厄介なことがあります。
SConstructファイルを次のように追加して使用するように変更しようfltk-config --cflags
としましたfltk-config --ldflags
(またはそれfltk-config --libs
よりも優れている可能性があります)。ldflags
guienv.Append(CPPPATH = os.popen('fltk-config --cflags').read())
guienv.Append(LIBPATH = os.popen('fltk-config --ldflags').read())
しかし、これによりlibloのテストが失敗します!調べると、config.log
どのように失敗したかがわかります。
scons: Configure: Checking for C library lo...
gcc -o .sconf_temp/conftest_4.o -c "-I/usr/include/fltk-1.1 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT"
gcc: no input files
scons: Configure: no
これは実際にどのように行う必要がありますか?
そして、私の答えを完成させるために、どうすれば結果から引用符を削除できos.popen( 'command').read()
ますか?
編集fltk-config
ここでの本当の問題は、gccがコンパイルするはずのfilename引数を受け取らない原因の出力を追加するのはなぜですか?