1

scons を使用してビルド サンプル Wt プロジェクトを実行しようとしましたが、数時間行き詰まりました。コマンドでコンパイルすると:

g++ -o hello hello.cc -I/usr/local/include -L/usr/local/lib
  -lwthttp -lwt -lboost_random -lboost_regex
  -lboost_signals -lboost_system -lboost_thread -lboost_filesystem
  -lboost_program_options -lboost_date_time

(チュートリアルへのリンク: http://www.webtoolkit.eu/wt/doc/tutorial/wt.html#_hangman ) すべて問題なく、この簡単な例を実行できます。しかし、私のsconsファイルでは:

env = Environment()

#       Add header search path
env.Append(CPPPATH = ['/usr/include', '/usr/local/include'])

#       Add compile-time flags
env.Append(CCFLAGS=[
#'-Wall','-g',
'-lwt', '-lwthttp',
'-lboost_random', '-lboost_regex', '-lboost_signals',
'-lboost_system', '-lboost_thread', '-lboost_filesystem',
'-lboost_program_options', '-lboost_date_time'
])

#       Add library search path
env.Append(LIBPATH = ['/usr/lib','/usr/local/lib', '/opt/lib'])

env.Program('hello',['exa.cc'])

#Program('exa.cc')
~                                        

次のエラーが表示されません: http://pastebin.com/Ft2b62ie。回答ありがとうございます。

ルカシュ。

4

2 に答える 2

3

次の SConstruct が機能するはずです。唯一の違いは、ライブラリを LIBS SCons 構築変数に配置し、それぞれから「-l」を削除することです。これは、SCons では必要ないためです。

(これは基本的に user2093113 と同じ回答ですが、ライブラリが正しく指定されていることに注意してください: https://stackoverflow.com/a/16555400/1158895 )

env = Environment()

#       Add header search path
env.Append(CPPPATH = ['/usr/include', '/usr/local/include'])

#       Add compile-time flags
#env.Append(CCFLAGS=['-Wall','-g'])

# libraries to link against
# Notice you dont need the '-l', since SCons is platform independent
env.Append(LIBS=[
  'wt', 'wthttp',
  'boost_random', 'boost_regex', 'boost_signals',
  'boost_system', 'boost_thread', 'boost_filesystem',
  'boost_program_options', 'boost_date_time'
])

#       Add library search path
env.Append(LIBPATH = ['/usr/lib','/usr/local/lib', '/opt/lib'])

# Compile and link the binary
env.Program('hello',['exa.cc'])
于 2013-05-15T07:55:08.507 に答える
-2

リンカーフラグを追加するのではなく、代わりに追加する必要CCFLAGSがありLIBSます。

env.Append(LIBS=[
'-lwt', '-lwthttp',
'-lboost_random', '-lboost_regex', '-lboost_signals',
'-lboost_system', '-lboost_thread', '-lboost_filesystem',
'-lboost_program_options', '-lboost_date_time'
])
于 2013-05-15T01:35:54.963 に答える