Visual Studio 2015 中的 Extern "C" 显式类型错误,DLL 测试代码

Extern "C" explicit type error in Visual Studio 2015, DLL test code

我正在尝试编译一组非常基本的代码来测试在 R 中使用 VS15 C++ 制作的 DLL 的功能。我遵循了这个教程:https://erpcoder.blog/2016/06/15/how-to-develop-a-c-dll-for-r-in-visual-studio-2015/

stdafx.h:

#define WIN32_LEAN_AND_MEAN             
#include <windows.h>

extern “C” __declspec(dllexport) void __cdecl foo(double *in, double *out);

DLL_Test.cpp:

#include "stdafx.h"

void foo(double *in, double *out)
{

    double value = in[0] * 2;

    out[0] = value;

}

VS15 给出了以下对应于 stdafx.h 的错误:

explicit type is missing ('int' assumed)    
expected a ';'  

非常感谢任何见解。

干杯!

真的在你的代码中有智能引号吗:extern “C”

我怀疑你可能 因为你从中剪切'n'粘贴代码的网站也有它们(而且很多,可能是寻找的一个很好的理由另一个 网站,在我看来,但你同样可以使用他们的代码,只要你乐意修复其中的错误。

您应该将它们替换为更笨(但更容易接受)的引号:

extern "C" __declspec(dllexport) void __cdecl foo(double *in, double *out);
//     ^ ^
//     Here

顺便说一句,我在网站上发表了评论,建议他们解决问题(目前正在等待审核)。