websocketpp と MySQL の両方を使用する C++ アプリを構築しようとしています。VS 2010 C++ Express を使用して 2 つのビルドの問題が発生しました。
1) ブースト ライブラリの問題。次のような多くのエラーが発生します。
1>c:\program files (x86)\boost\boost_1_50\boost\thread\win32\thread_data.hpp(210): error C2146: syntax error : missing ')' before identifier 'rel_time'
210 行目から始まる thread_data.hpp の関連するスニペットを次に示します。
inline BOOST_SYMBOL_VISIBLE void sleep(TimeDuration const& rel_time)
{
interruptible_wait(detail::pin_to_zero(rel_time.total_milliseconds()));
}
2)ここに文書化されている VERSION という単語との競合は、独立していると私は信じています。
ブースト ビルドの問題の明確で単純な例を作成するために、websocketpp の例を使用しています: echo_server.cppにこれらを追加しました:
#include "stdafx.h"
Boost lib インクルードは、websocketpp サイトの「Building a program with websocketpp」で推奨されています。
#include <boost/regex.hpp>
#include <boost/random.hpp>
#include <boost/system/api_config.hpp>
#include <boost/system/config.hpp>
#include <boost/system/error_code.hpp>
#include <boost/system/system_error.hpp>
#include <boost/system/windows_error.hpp>
そしてMySQLヘッダーには含まれています。これら 2 つの boostincludes を追加すると、ビルド エラーが発生します。これら 2 つのインクルードをコメントアウトすると、エラーなしでビルドされます。
#include <my_global.h>
#include <mysql.h>
ブーストの問題に対処する方法について何か提案はありますか?
これは、「MinGW で websocket++ をビルドしようとしています: 最後のいくつかのリンカー エラー — 何が原因でしょうか?」と同じビルドの問題ではないと思います。