cとfortranの混合プログラミングについての質問です。環境はWindows上でVisual studio 2005/Intel fortran 9.1です。
--c側(ctest6.cpp)
#include <stdio.h>
extern "C" void __stdcall fsub(){
printf("TEST PROGRAM!!\n");
}
--fortran側(ftest6.f90)
PROGRAM MAIN
call FSUB
END
--エラー
ctest6.obj:error LNK2019:未解決の外部シンボル_fsubが関数_mainで参照されました。
ftest6.obj:error LNK2019:未解決の外部シンボル_FSUBが関数_MAIN_で参照されました。
ftest6.exe:fatal error LNK1120:外部参照2が未解決です。
----
__stdcall fsub()"の部分を過去の質問等を参考にし、色々(cのfsubを_fsubやfsub_にしたりと"_"を追加したり)と試してみたりしたのですが、上記のエラーがでてしまいます。fortran側で_FSUBと記入できない点が課題な気がしているのですが、ご教授いただけないでしょうか?
No.3
- 回答日時:
C側の関数名を大文字にしてみれば ・・・
void _declspec( dllexport ) __stdcall FSUB()
といった具合 ・・・
指摘していただいた方法もやってみましたが、原因はfortran側(呼び出される側)をスタティックかダイナミック以外で作成することのようでした。ともかくご回答していただきありがとうございました。
No.1
- 回答日時:
さっそくのご回答ありがとうございます。
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng. …のtetrapodさんのアドバイスで
fortran側はstaticlibrary,SUBROUTINEですので、
extern "C" void ftest6();
extern "C" void ftest6_();
extern "C" void _ftest6();
等試してみましたが、同じエラーでした。
ちなみにビルドは
cl /c ctest6.cpp
ifort ftest6.f90 ctest6.obj /link /out:ftest6.exe
で行っております。
ともかく、ご回答ありがとうございます。もう一度マニュアルを読み込んでみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 未解決の外部シンボル _printfが関数_mainで参照されました 1 2022/09/18 15:28
- その他(プログラミング・Web制作) FORTRAN77の配列(除算) 2 2023/02/01 14:34
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母 3 2022/07/19 17:09
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外部依存関係について
-
c言語とfortranの混在プログラ...
-
PCをシャットダウンさせるプロ...
-
vs2010 mfc拡張DLL LNK2019
-
LNK2019: 外部シンボル どのよ...
-
LNK2001(Pro*c)
-
外部シンボルの未解決のエラー
-
ilink32について。'__setargv__...
-
FORTRANのエラーメッセージで・...
-
wsprintfのエラーについて
-
DXライブラリ3D導入方法
-
python エラー
-
エクセルのエラーメッセージ「4...
-
<unistd.h>をVisualStudioでつ...
-
Excelのエラーで困ってます。
-
アプリケーションのDLLファイル...
-
VBAを何回も作り直して、容量が...
-
sys/time.hのインクルードがで...
-
適切な変換関数が存在しない???
-
unsigned long long 型のフォー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外部依存関係について
-
LNK2019: 外部シンボル どのよ...
-
外部シンボルの未解決のエラー
-
LNK2001(Pro*c)
-
外部シンボル" ~~"は未解決で...
-
ステータスバーを作ろうとして...
-
popen・pcloseについて
-
コンパイルエラー
-
error LNK2001について
-
ilink32について。'__setargv__...
-
「外部シンボルが未解決」につ...
-
IP Helper APIを使うとエラーが...
-
パブリックシンボルとは?
-
リンカのエラー
-
VC++2008でのサンプルプログ...
-
C++でのエラー LNK2001
-
VC++始めたんですが、エラーの...
-
ビデオキャプチャ(VC++超初心...
-
C言語でレジストリ取得「未解決...
-
C言語のエラー LNK1120: 外部参照
おすすめ情報