プロが教える店舗&オフィスのセキュリティ対策術

DuktapeというCソースを利用しています。

VisualStudio2008の頃はDuktapeはV1.5の頃で、ライブラリ(拡張子はC)を
extern "C" { #include "duktape.h" }
として、問題なく使えていました。
上を旧とします。

OSがWindowsXPから10に変わり、
VisualStudio2008から2017に変わり、
DuktapeはV2になりました。
上を新とします。

数日前、新環境で旧slnを読み込もうとしたら失敗しました。
そこで新環境で旧ソースからコンパイルしようとしたら


テンプレートはCではコンパイルできない


旨のエラーメッセージを受けました。
いろいろ工夫をしたのですが、解決に至らず。結局昔のV1.5を使ったら新環境でもコンパイルできるようになりました。その際にはexternも必要なくなりました。


CやC++からずっと離れていたので、extern "C"すればC++でCソースがコンパイルできる、とだけ思っていたのですが、最近は違うのでしょうか。

A 回答 (1件)

昔からずっと「extern "C"すればC++でCソースがコンパイルできる」というものじゃないんだけどな~.



ところで, なんで extern を付けなきゃならないの?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!