我已經developped在C DLL和我呼籲我的C++程序使用此方法如何調用用C++編程調用我的DLL用C語言編寫
#include <cstdlib>
#include <iostream>
#include <windows.h>
#ifdef __cplusplus
extern "C" {
#endif
#include "mydll.h"
#ifdef __cplusplus
}
#endif
using namespace std;
int main(int argc, char *argv[])
{
struct myown_struct *ss = NULL;
int i = 0,j = 0, result = 0;
struct myown_struct2 *s = NULL;
myfunction("string1", "string2", "string3", 1500);
system("PAUSE");
return EXIT_SUCCESS;
}
mydll.h:
#ifndef _DLL_H_
#define _DLL_H_
#if BUILDING_DLL
# define DLLIMPORT __declspec (dllexport)
#else /* Not BUILDING_DLL */
# define DLLIMPORT __declspec (dllimport)
#endif /* Not BUILDING_DLL */
struct myown_struct {
int fd;
char buf[32];
unsigned int len;
} __attribute__((packed));
DLLIMPORT void myfunction(char *s1, char* s2, char *s3, int n);
#endif /* _DLL_H_ */
我得到這個錯誤:
C:\用戶\用戶01 \桌面\測試\ main.cpp中在功能int main(int, char**)
C:\用戶\用戶01 \桌面\測試\ main.cpp中myfunction' undeclared (first use this function)
我該如何解決它?
向我們展示mydll.h?看起來您的使用不符合標題中的簽名或者未在標題中聲明。 – crashmstr
@crashmstr:你可以看到我的更新 – developer