在Visual Studio 2010中的C ++中使用lapack C标头错误

杰森

请帮我!我花了几个小时才能上网查找,但还没有找到解决方法...。

我试图从C++函数中使用调用lapack函数,但一开始我就失败了。这是我的代码:

#include "stdafx.h"
#include "targetver.h"
extern "C" {
#include "lapacke.h"
}


int main{}
{
    return 0;
}

我知道“ lapacke.h”是C头文件,因此我使用了该extern "C"子句。但是,当我尝试编译这个琐碎的函数时,出现以下错误:

Error   1   error C2146: syntax error : missing ';' before identifier 'lapack_make_complex_float'   c:\users\svd_example1\example2\example2\lapacke.h   89  1   example2
Error   2   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:\users\svd_example1\example2\example2\lapacke.h   89  1   example2

有谁知道是什么导致了这些错误?

非常感谢你!

TC

标头的相关部分是:

/* Complex types are structures equivalent to the
* Fortran complex types COMPLEX(4) and COMPLEX(8).
*
* One can also redefine the types with his own types
* for example by including in the code definitions like
*
* #define lapack_complex_float std::complex<float>
* #define lapack_complex_double std::complex<double>
*
* or define these types in the command line:
*
* -Dlapack_complex_float="std::complex<float>"
* -Dlapack_complex_double="std::complex<double>"
*/

/* Complex type (single precision) */
#ifndef lapack_complex_float
#include <complex.h>
#define lapack_complex_float    float _Complex
#endif

/* ... */    

lapack_complex_float lapack_make_complex_float( float re, float im );

_Complex默认情况下,它使用C99 ,Visual C ++不支持。您可以按照建议使用定义这些宏,std::complex而Visual C ++支持这些宏

#include <complex>
#define lapack_complex_float std::complex<float>
#define lapack_complex_double std::complex<double>
#include "lapacke.h"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Visual Studio 2010中使用C#加载rpt文件?

如何在Visual Studio 2010中使用DEF文件从现有C ++代码生成DLL

Visual Studio 2010中的新C ++项目

在 Visual Studio 2010 中使用 plsql 的 C#

C ++ LInker错误(Visual Studio C ++ 2010)

我可以在Visual Studio 2010中使用C构建自定义的Apache模块扩展吗?

如何在C ++中的Visual Studio 2010中添加.a文件

使用先决条件在Visual Studio 2010中创建C#winApp的安装和部署

在Visual Studio 2010中启用C#项目

C ++ #include在Microsoft Visual Studio 2010中不起作用

检查Visual Studio 2010的C ++对象中的特定配置

如何在Visual Studio 2010 Ultimate中创建C ++项目

在Visual Studio 2010中构建64位C#

如何在Visual Studio 2010中“激活” c ++ 11标准?

在Visual Studio 2010中从.NET项目启动C ++项目

Visual Studio 2017中的Intellisense可以建议包含C ++标头吗?

无法在Visual Studio 2010 c#中使用SoundPlayer播放声音

在Mac上的Visual Studio Community 2017中使用C ++?

无法在Visual Studio 2010中使用CSS3

如何在Visual Studio 2010中使用Boost

dll在Visual Studio 2010中使用问题

如何告诉Visual Studio我的标头应为C ++,而不是C?

Visual Studio代码:C / C ++:显示的标头/包含文件的多个定义;怎么修?

Visual Studio 2010中的错误和警告

如何使Visual Studio 2015 C ++项目与Visual Studio 2010兼容?

Visual Studio 2010:致命错误C1189:#错误

使用c#将Access数据库添加到Visual Studio 2010中的项目中

不能包含cliext标头(适用于c ++ cli,Visual Studio)

添加新类(C#,Visual Studio)时自动生成标头