使用websocketpp和MySQL在Windows上增加构建错误

时间:2013-01-25 03:19:32

标签: c++ mysql visual-studio-2010 boost websocket

我正在尝试构建一个同时使用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 ++:最后几个链接器错误 - 它可能是什么?”

1 个答案:

答案 0 :(得分:0)

关于第一个错误,请检查是否有任何宏干扰代码。右键单击并转到定义或#define宏在文件的开头,看看它重新定义的位置。在非常困难的情况下,通过编译器标志查看预处理器输出。

关于其余部分,您不提供Boost和MySQL的任何版本。然后,有my_global.h(或MySQL的那部分?)和stdafx.h,它们都在你的控制范围内,但你不在这里展示它们。此外,尝试将问题减少到尽可能小的代码。简而言之,提供一个可重复的例子。