我正在尝试构建一个同时使用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'
这是thread_data.hpp中从第210行开始的相关片段:
inline BOOST_SYMBOL_VISIBLE void sleep(TimeDuration const& rel_time)
{
interruptible_wait(detail::pin_to_zero(rel_time.total_milliseconds()));
}
2)与记录here的单词VERSION发生冲突,我认为是独立的。
为了提出一个明确而简单的boost构建问题示例,我正在使用websocketpp示例:echo_server.cpp我添加了这些内容包括:
#include "stdafx.h"
Boost lib包括在websocketpp网站上“使用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头包括。添加这两个boostincludes会触发构建错误。如果我注释掉这两个包含,那么它的构建没有错误:
#include <my_global.h>
#include <mysql.h>
有关如何处理助推问题的任何建议?
我认为这与构建问题不同,“尝试使用MinGW构建websocket ++:最后几个链接器错误 - 它可能是什么?”
答案 0 :(得分:0)
关于第一个错误,请检查是否有任何宏干扰代码。右键单击并转到定义或#define宏在文件的开头,看看它重新定义的位置。在非常困难的情况下,通过编译器标志查看预处理器输出。
关于其余部分,您不提供Boost和MySQL的任何版本。然后,有my_global.h(或MySQL的那部分?)和stdafx.h,它们都在你的控制范围内,但你不在这里展示它们。此外,尝试将问题减少到尽可能小的代码。简而言之,提供一个可重复的例子。