[問題] DLL的標頭檔組建出問題
開發平台(Platform): (Ex: Win10, Linux, ...)
Win10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
Visual Studio 2017
問題(Question):
DLL的標頭檔無法組建
餵入的資料(Input):
作業要求得將自定義函數FILE* fopenText(char* fName, char* mode);
放在DLL檔中
預期的正確結果(Expected Output):
成功組建產出DLL檔
錯誤結果(Wrong Output):
組建失敗
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
(標頭檔)
#pragma once
extern "C" int getLine(char a[], int sz);
extern "C" void linesFree(char *a[], int n);
extern "C" int linesRead(char *a[], int max);
extern "C" void linesSort(char *a[], int n);
extern "C" void linesWrite(char *a[], int n);
extern "C" FILE* fopenText(char* fName, char* mode);
(fopenText函數)
https://ideone.com/1Edt8s
補充說明(Supplement):
大概是不支援自定義的函數類型吧我猜
標頭檔中的 extern "C" FILE* fopenText(char* fName, char* mode);
這句被抓到syntax error: missing ';' before '*'
還有missing type specifier
請問要用哪種type去定義呢?
有試著直接把FILE*改成int或是其他類型
但是結果都是更多錯誤
該函數的內容應該是沒有問題(老師直接給的)
不過以防萬一還是丟了上來
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 126.2.147.139 (日本)
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1573917456.A.B11.html
推
11/17 04:10,
5年前
, 1F
11/17 04:10, 1F
直接在標頭檔上加嗎?因為本體有include了
等會來試試
※ 編輯: makkapakka (126.2.165.241 日本), 11/17/2019 09:24:48
→
11/17 14:34,
5年前
, 2F
11/17 14:34, 2F
推
11/17 19:12,
5年前
, 3F
11/17 19:12, 3F
→
11/17 19:13,
5年前
, 4F
11/17 19:13, 4F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章