• ベストアンサー

VC++2005でLAPACKを使用するとエラーが出る

タイトルの通りなのですが,VC++2005でLAPACKを使用するとエラーが出て,困っています. vc\include\clapack.h(1486) : error C2144: 構文エラー : 'char' は ')' によって先行されなければなりません。 vc\include\clapack.h(1486) : error C2144: 構文エラー : 'char' は ';' によって先行されなければなりません。 vc\include\clapack.h(1486) : warning C4091: '' : 変数が何も宣言されていないときは、'char' の左辺を無視します。 vc\include\clapack.h(1486) : error C2143: 構文エラー : ';' が ',' の前にありません。 vc\include\clapack.h(1486) : error C2059: 構文エラー : ',' vc\include\clapack.h(1486) : error C2059: 構文エラー : ')' vc\include\clapack.h(2861) : error C2144: 構文エラー : 'char' は ')' によって先行されなければなりません。 vc\include\clapack.h(2861) : error C2144: 構文エラー : 'char' は ';' によって先行されなければなりません。 vc\include\clapack.h(2861) : warning C4091: '' : 変数が何も宣言されていないときは、'char' の左辺を無視します。 vc\include\clapack.h(2861) : error C2143: 構文エラー : ';' が ',' の前にありません。 vc\include\clapack.h(2861) : error C2059: 構文エラー : ',' vc\include\clapack.h(2861) : error C2059: 構文エラー : ')' 主にhttp://sakura.math.kyushu-u.ac.jp/wiki/index.php?%E8%A8%88%E7%AE%97%E6%A9%9F%E8%A8%AD%E5%AE%9A%2FCLAPACKを参考にして作成しているのですが・・・上手くいきません.詳しい方,ご教授お願い致します.

質問者が選んだベストアンサー

  • ベストアンサー
  • kirinoma
  • ベストアンサー率53% (288/542)
回答No.1

ご質問文の中で挙げて頂いたページの,コメントについては検討してみましたか?おそらく類似のヘッダファイルの読み込み順序によって,おかしくなっているのだと思います. インクルードするヘッダファイルを減らしたシンプルなコードを試してみて,何をインクルードするとおかしくなるのか試してみると良いのでは. > f2c.h内でabsがマクロ関数として定義されているので、math.hをインクルードする場合はf2c.h(clp.h)より前で行ってください。f2c.h(clp.h)の後にmath.hをインクルードするとコンパイルエラーになります。 とりあえず,こちらでは(.NET環境ではありますが)正常に使えています.

その他の回答 (1)

回答No.2

こんばんは. 単純なコンソールアプリケーションであれば利用経験があります. そこで, ・どのversionのCLAPACKを利用しようとしているのか ・作ろうとしているアプリケーションの種類は何か ・(できれば)どんな手順で設定したのか について補足を行ってください. リンク先の clp.h はちょっとどうかと思うのですが. 「よくわかっていないこともあり」で以下のようなことをして良いものでしょうか. #pragma comment(linker, "/NODEFAULTLIB:msvcrt.lib")

関連するQ&A

  • string.h内でエラー

    Visual C++ 2005でプログラムを組んでいます。 あるプログラムをビルドすると以下のようにstring.h内でエラーが大量に発生します。string.hをインクルードしないとエラーは出ないことからおそらくstring.hまわりの設定がおかしいとは思うのですがよくわかりません。 エラー 2 error C2144: 構文エラー : 'char' は ')' によって先行されなければなりません。c:\program files\microsoft visual studio 8\vc\include\string.h 136 エラー 3 error C2144: 構文エラー : 'char' は ';' によって先行されなければなりません。c:\program files\microsoft visual studio 8\vc\include\string.h 136 エラー 5 error C2143: 構文エラー : ';' が ',' の前にありません。c:\program files \ microsoftvisualstudio8 \ vc\ include\ string.h 136 宜しくお願いします。

  • VC++6.0のプロジェクトをVC++2005Expressで動かしたいがエラーが出まくってしまいます。

    VC++6.0のプロジェクトをVC++2005Expressで動かしたいのですが エラーが出まくってしまいます。 VC++6.0では正常にコンパイル終了するものがexpressだと、 ・・・string.h(135) : warning C4003: マクロ '__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX' に指定された実引数の数が少なすぎます。 とか、 ・・・string.h(135) : error C2065: '_string' : 定義されていない識別子です。 とか、 ・・・string.h(135) : error C2275: '_locale_t' : この型は演算子として使用できません とかです。string.hなど、触ったこともないのですが、 express用に編集が必要なのでしょうか? ちなみに PlatformSDK などはインストールして、include,exectable,library ディレクトリなどのパスも通しています。 何か良い方法を教えてください。お願いします。

  • 複素数<complex.h>のErrorに関して

    初めて質問させて貰います。 質問するにあたり至らない点もあるかもしれませんが、その際は御指摘頂ければ随時訂正していきたいと考えています。 プログラムに関しては素人と考えてください。 複素数を使った計算プログラムを書きたく思い、色々と調べたところcomplexをincludeすれば複素数が定義できるという所まで調べられました。 早速調べたとおりにプログラムを書いてみたのですが、エラーが発生してしまいます。 エラーの示すことも、何故エラーがでたのかも分かりません。 よろしければ、御助言の方よろしくお願いします。 使用ソフト→ Microsoft Visual C++ 2008です。 以下プログラム(num001.cppで保存)→ #include<stdio.h> #include<complex.h> ~以下略 という感じでプログラムを書いたのですが、コンパイルしてみると、以下のようなエラーが発生してしまいます。 以下発生したエラーです→ num001.cpp C:\program\C++5.5\include\complex.h : warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。 データの損失を防ぐために、ファイルを Unicode 形式で保存してください。 C:\program\C++5.5\include\complex.h(3) : warning C4068: 不明なプラグマがありました。 C:\program\C++5.5\include\stdcomp.h : warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。 データの損失を防ぐために、ファイルを Unicode 形式で保存してください。 C:\program\C++5.5\include\compnent.h : warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。 データの損失を防ぐために、ファイルを Unicode 形式で保存してください。 C:\program\C++5.5\include\rw/stddefs.h : warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。 データの損失を防ぐために、ファイルを Unicode 形式で保存してください。 C:\program\C++5.5\include\rw/stddefs.h(3) : warning C4068: 不明なプラグマがありました。 C:\program\C++5.5\include\stdcomp.h : warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。 データの損失を防ぐために、ファイルを Unicode 形式で保存してください。 C:\program\C++5.5\include\rw/stdwind.h : warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。 データの損失を防ぐために、ファイルを Unicode 形式で保存してください。 C:\program\C++5.5\include\rw/stdwind.h(3) : warning C4068: 不明なプラグマがありました。 C:\program\C++5.5\include\rw/stdwind.h(208) :warning C4068: 不明なプラグマがありました。 C:\program\C++5.5\include\rw/stddefs.h(181) :warning C4068: 不明なプラグマがありました。 C:\VC\INCLUDE\xlocale(342) : warning C4530: C++ 例外処理を使っていますが、アンワインド セマンティクスは有効にはなりません。/EHsc を指定してください。 C:\program\C++5.5\include\complex.h(1488) : warning C4068: 不明なプラグマがありました。 よろしくお願いします。

  • WiiYourself!をコンパイルできない

    WiiYourselfをVisualStadio2008(visual C++)でDemoフォルダのソースをコンパイルしようとしたのですがコンパイルエラーが100個以上出て失敗してしまいました(ソースは入手したときのままです)。エラーは以下のとおりです。 1>c:\program files\microsoft visual studio 9.0\vc\include\excpt.h(60) : error C2065: '_In_' : 定義されていない識別子です。 1>c:\program files\microsoft visual studio 9.0\vc\include\excpt.h(60) : error C2144: 構文エラー : '_EXCEPTION_RECORD' は ')' によって先行されなければなりません。 1>c:\program files\microsoft visual studio 9.0\vc\include\excpt.h(60) : error C2448: '_except_handler' : 関数の定義が間違っています。 1>c:\program files\microsoft visual studio 9.0\vc\include\excpt.h(61) : error C2144: 構文エラー : 'void' は ';' によって先行されなければなりません。 1>c:\program files\microsoft visual studio 9.0\vc\include\excpt.h(62) : error C2144: 構文エラー : '_CONTEXT' は ';' によって先行されなければなりません。 1>c:\program files\microsoft visual studio 9.0\vc\include\excpt.h(63) : error C2144: 構文エラー : 'void' は ';' によって先行されなければなりません。 1>c:\program files\microsoft visual studio 9.0\vc\include\excpt.h(64) : error C2059: 構文エラー : ')' 1>c:\winddk\7600.16385.0\inc\api\windef.h(49) : error C2143: 構文エラー : ';' が '*' の前にありません。    ........ 開発環境は以下の通りです Windows vista WDM (インクルード(inc/api) ライブラリ(lib/wxp/i386)をvisual C++に設定している) WiiYourself1.01a とWiiYourself!_1.14b両方試しましたが同じ結果でした 原因をご存知の方がいらっしゃたらどうか書き込みお願いします。 よろしくお願いします。

  • VC++2005で言語拡張切ってみたら大量のエラー

    VC++2005にて、言語拡張を切る(/Za)と、以下のようなエラーが36個ほど出ます。 ~略~\platformsdk\include\winnt.h(477) : error C2467: 無名の 'struct' の宣言が誤っています。 ~略~\platformsdk\include\winnt.h(495) : error C2467: 無名の 'struct' の宣言が誤っています。 そして、コンパイルできなくなります… なんというか、これはマイクロソフトの陰謀ということでいいのでしょうか? 報告例) http://agpg.seesaa.net/article/12818703.html

  • 【VC++】 学校のプロジェクトを家で続けたい

    学校で使っているVisual Studio2010で使っているプロジェクト(ソリューション)を、家のPCのVisual C++ 2010 Expressで使いたいのですが、エラーが出てうまく移行できません。 家のPCをうまく設定して学校のPCと両方でプロジェクトを使いたいのですがどうすれば良いのでしょうか。 もしかすると、以前設定を変更してデフォルトの状態ではないかもしれません… //インクルード文 #include "DxAll3.h" //エラーメッセージ(抜粋) 1>C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\driverspecs.h : warning C4821: Unicode エンコードの種類を指定できません。シグネチャ (BOM) つきファイルを保存してください。 1>C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\driverspecs.h : warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してください。 1>C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\driverspecs.h(1): error C2018: 文字 '0x4' は認識できません。 1>C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\driverspecs.h(1): error C2018: 文字 '0x6' は認識できません。 1>C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\driverspecs.h(1): error C2018: 文字 '0x2' は認識できません。 1>C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\driverspecs.h(1): error C2018: 文字 '0x7' は認識できません。 1>C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\driverspecs.h(1): error C2146: 構文エラー : ';' が、識別子 'Ntff' の前に必要です。 以下100エラーでコンパイル中断。

  • 粒子法プログラムのビルドエラー(cstdlibのエラー)

    粒子法のMPS法のプログラミングをしているのですが、C++でmps.cをビルドをすると、cstdlibのエラーが出てビルドが出来ません。 mps.cの本文中にはエラーは無く、visual studio 9.0にあるcstdlibの構文エラーが出てしまいます。 最初から入っているライブラリファイルが間違っているとは思えません。 解決法を教えてください。お願いします。 ↓ mps.c内でcstdlibを使っている場所 ↓ #include <cstdlib> /* This line is necessary for C++ compiler. Remove this line in C compiler */ #include <stdio.h> #include <sys/types.h> #include <math.h> #include <string.h> ↓ エラーメッセージ ↓ 1>コンパイルしています... 1>mps.c 1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2143: 構文エラー : '{' が ':' の前にありません。 1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2059: 構文エラー : ':' 1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2143: 構文エラー : '{' が ':' の前にありません。 1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2059: 構文エラー : ':' 1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2143: 構文エラー : '{' が ':' の前にありません。 1>c:\program files\microsoft visual studio 9.0\vc\include\cstdlib(21) : error C2059: 構文エラー : ':' 省略(21行目のエラーが23~32行目まで同じエラーが続く) 1>MPS3000 - エラー 62、警告 0 ========== すべてリビルド: 0 正常終了、1 失敗、0 スキップ ==========

  • [VC++]ヘッダファイルからの関数コール

    Formのボタンクリックイベント(Form.h)から 別ファイル(.cpp)の関数をコールしたいのですがうまくいきません、 どのようにすればよいでしょうか?ご教授お願いします。 1> : error C2144: 構文エラー : 'void' は ')' によって先行されなければなりません。 1> : error C2059: 構文エラー : ')' //----- main1.h #include <stdio.h> #include "Form1.h" namespace A { void main1(); } //----- main1.cpp #include <stdio.h> #include "main1.h" using namespace A; void main1() { //処理 } //----- Form1.h #include <stdio.h> #include "main1.h" void main1(void); namespace A { public ref class Form1 : public System::Windows::Forms::Form { public: private: System::Void btn_Click(System::Object^ sender, System::EventArgs^ e) { //★クリックイベントからmain1の関数コールしたい main1(void); } }; }

  • VC++ 2010 Expressのエラー

    visual C++ 2010 Expressでビルドエラーが解消できません。 VC++初心者です。非常に困っているので、お答えいただきたいです。 ARtoolkitとkinectを使用するために、windows8(64bit)でvisual C++ 2010 Expressを使用し、ビルドをしようとすると fatal error C1083: include ファイルを開けません。'windows.h': No such file or directory このようなエラーが表示されます。同様にexcpt.h、sdkddkver.h、stdio.h、stdlib.h、crtdefs.hもincludeできないとエラーが表示されます。 これらのファイルは全てC:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include の中に存在したため、このディレクトリをインクルードディレクトリとライブラリディレクトリに追加すると、includeファイルを開けないエラーは解消するのですが、 fatal error C1189: #error : ERROR: Use of C runtime library internal header file. というエラーが表示され、検索してみたものの原因がわからずにいます。 また既にvisual C++2008でARtoolkitを動かせる状態にしてあることも影響はあるのでしょうか? 大変わかりずらい質問で恐縮ですがお答えいただきたいです。

  • VC++、windows.hのincludeエラー

    最近C++を勉強し始めたのですが出だしからつまづいてしまいました。 Visual Studio 2010 SP1 + Windows SDK 7.1 (OS:windows7 Professional 64bit版)を使用しているのですが、#include <windows.h> のみでビルドを行ったところ以下のように driverspecs.h でエラーが生じてしまいました。 1>c:\program files\microsoft sdks\windows\v7.1\include\driverspecs.h(356): error C2143: 構文エラー : ')' が '(' の前にありません。 1>c:\program files\microsoft sdks\windows\v7.1\include\driverspecs.h(356): error C2091: 関数は関数を返せません。 1>c:\program files\microsoft sdks\windows\v7.1\include\driverspecs.h(356): error C2059: 構文エラー : ')' <中略> 1>c:\program files\microsoft sdks\windows\v7.1\include\driverspecs.h(699): fatal error C1003: プログラム内のエラーが 100 個を超えました。コンパイルは中断されます。 1> 1>ビルドに失敗しました。 以下に driverspecs.h ファイルのエラー部分を抜粋して載せておきます。 __ANNOTATION(SAL_functionClass(__in char *);) #define __drv_functionClass(x) \ __drv_out(__drv_declspec("SAL_functionClass(\""#x"\")")) まだ始めたばかりで知識も乏しく、どのように対処をしていいものか困っています。 何か解決の糸口になるようなヒントでも構いませんので教えて頂けると助かります。 よろしくお願いします。

専門家に質問してみよう