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
顺便说一句,我在网站上发表了评论,建议他们解决问题(目前正在等待审核)。
我正在尝试编译一组非常基本的代码来测试在 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
顺便说一句,我在网站上发表了评论,建议他们解决问题(目前正在等待审核)。