Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual c++ Visual Studio C++;发布模式下的2010编译错误_Visual C++_Compiler Construction - Fatal编程技术网

Visual c++ Visual Studio C++;发布模式下的2010编译错误

Visual c++ Visual Studio C++;发布模式下的2010编译错误,visual-c++,compiler-construction,Visual C++,Compiler Construction,我在VisualStudio2010(C++项目)中有一个项目,它在调试模式下编译时没有问题,但在发布模式下给了我一连串奇怪的“语法”错误。错误如下所示: c:\program files\point grey research\flycapture2\include\Error.h(38): error C2059: syntax error : 'string' 1>c:\program files\point grey research\flycapture2\include\Err

我在VisualStudio2010(C++项目)中有一个项目,它在调试模式下编译时没有问题,但在发布模式下给了我一连串奇怪的“语法”错误。错误如下所示:

c:\program files\point grey research\flycapture2\include\Error.h(38): error C2059: syntax error : 'string'
1>c:\program files\point grey research\flycapture2\include\Error.h(39): error C2146: syntax error : missing ';' before identifier 'Error'
1>c:\program files\point grey research\flycapture2\include\Error.h(39): error C2470: 'Error' : looks like a function definition, but there is no parameter list; skipping apparent body
1>c:\program files\point grey research\flycapture2\include\BusManager.h(56): error C2059: syntax error : 'string'
1>c:\program files\point grey research\flycapture2\include\BusManager.h(57): error C2146: syntax error : missing ';' before identifier 'BusManager'
FlyCapture是我的代码使用的库。我仔细检查了包含的头目录和lib库的路径,它们是正确的。我还更改了库文件名,使其不包含“d”(用于调试)。我还检查了代码中的预编译调试语句。我一个也没找到。这是非常令人沮丧的。你知道我还应该检查什么吗?我在x64模式下编译

编辑:

第一个错误指向下面粘贴的库头文件中的“class FLYCAPTURE2_API error”行(我自己甚至没有编写这个库,它在调试模式下工作):


这对我来说很奇怪。这个代码应该没有问题。

我知道了。我能够找到FlyCapture2库附带的示例项目,该库配置为在发布模式下编译。它包含几个不同于调试模式的开关。因此,我的路径是正确的,但是需要启用一些编译器开关和库忽略。如果任何使用FlyCapture2的人出现这种情况,请查看示例项目并将其切换到发布模式,然后将您的项目的发布模式与它们的发布模式进行比较。谢谢你们

我明白了。我能够找到FlyCapture2库附带的示例项目,该库配置为在发布模式下编译。它包含几个不同于调试模式的开关。因此,我的路径是正确的,但是需要启用一些编译器开关和库忽略。如果任何使用FlyCapture2的人出现这种情况,请查看示例项目并将其切换到发布模式,然后将您的项目的发布模式与它们的发布模式进行比较。谢谢你们

你能至少粘贴发生错误的行(及其周围环境)吗?我添加了第一条错误消息所指向的代码段,如果这有帮助的话。谢谢。@pkout显然调试和发布模式将有不同的设置。你得四处挖掘,看看有什么变化。我做了。我非常仔细地比较了库和头文件的调试和发布路径。它们是一样的。我还更改了库名称,使它们在文件名中不包含“d”。我不知道还有什么问题。@pkout你已经提到过了。除非它们的配置不同,否则它的行为如何会有所不同?您至少可以粘贴发生错误的行(及其周围环境)吗?我添加了第一条错误消息所指向的代码段(如果有帮助的话)。谢谢。@pkout显然调试和发布模式将有不同的设置。你得四处挖掘,看看有什么变化。我做了。我非常仔细地比较了库和头文件的调试和发布路径。它们是一样的。我还更改了库名称,使它们在文件名中不包含“d”。我不知道还有什么问题。@pkout你已经提到过了。除非它们的配置不同,否则它的行为如何会有所不同?
namespace FlyCapture2
{
    struct ErrorImpl;

    /**
     * The Error object represents an error that is returned from the library.
     * Overloaded operators allow comparisons against other Error objects or
     * the ErrorType enumeration.
     */
    class FLYCAPTURE2_API Error
    {
    public:

        /**
         * Default constructor.
         */
        Error();

        /**
         * Copy constructor.
         */
        Error( const Error& error );

        /**
         * Default destructor.
         */
        virtual ~Error();