• 締切済み

C言語ソースのオラクルコンパイルについて

VC(バージョン5.0)でビルドする際にエラーになってしまいます。 TEST001.obj : error LNK2001: 外部シンボル "_sqlcxt" は未解決です Release/TEST001.exe : fatal error LNK1120: 外部参照 1 が未解決です。 link.exe の実行エラー というメッセージが出力されます。Googleでいろいろと調べると皆さんが引っかかるポイントのようですが、解決した人の方法とは異なるので、こちらで質問させて頂きました。 実行環境は OS :Windows 2000 Professional Oracle:Oracle9i Client 9.2.0 です。 Oracleが7.3.4から9.2.0にバージョンアップする事になり リコンパイルを上記環境で実行した時にエラーになります。 よろしくお願いいたします。

みんなの回答

  • muyoshid
  • ベストアンサー率72% (230/318)
回答No.1

こんにちわ。 Oracle のライブラリをリンクしていない事が原因 だと思います。 %ORACLE_HOME%\precomp\lib\msvc\orasql9.lib をリンクしてみて下さい。 詳細は、「Pro*C/C++ for Windows プリコンパイラ・ スタートガイド」に記述があります。 ユーザ登録 (無料) が必要ですが、OTN Japan で PDF 形式のマニュアルが公開されていますので、 こちらからDownload されてはいかがでしょうか?

参考URL:
http://otn.oracle.co.jp/
momo_right
質問者

お礼

回答ありがとうございます。 結局、VCのバージョンが5.0だったのがまずかったみたいで、バージョンを6.0にしたら、すんなりとリビルドできました。

関連するQ&A

  • DB2付きのC言語がコンパイルできません。

    CはMicrosoftVisualStudio2012 DBはIBM DB2 です。 同じ環境でコンパイル実行できていたのに、 PCがおかしくなったのでフォーマットして入れなおしたらコンパイルができなくなりました。 よろしくおねがいします。 ソースはこちらです。 #include <stdio.h> exec sql include sqlca; void main() { exec sql connect to sample; if(SQLCODE!=0) { printf("SQL CONNECT %d", SQLCODE); } else { exec sql update Test1 set col2 = 'bababa'; if(SQLCODE!=0) printf("SQL UPDATE %d", SQLCODE); } exec sql connect reset; } コンパイルコマンドです db2 connect to sample db2 prep Test11.sqc bindfile db2 bind Test11.bnd cl -Z7 -c -W2 -D_X86_=1 -DWIN32 -I"c:\Program Files\IBM\SQLLIB\include" Test11.c link -debugtype:cv -outTest11.exe %1.obj "c:\Program Files\IBM\SQLLIB\lib\db2api.lib" エラーメッセージです Test11.obj : error LNK2019: 未解決の外部シンボル _sqlaaloc@16 が関数 _main で参照されました。 Test11.obj : error LNK2019: 未解決の外部シンボル _sqlacall@20 が関数 _main で参照されました。 Test11.obj : error LNK2019: 未解決の外部シンボル _sqlasetdata@24 が関数 _main で参照されました。 Test11.obj : error LNK2019: 未解決の外部シンボル _sqlastop@4 が関数 _main で参照されました。 Test11.obj : error LNK2019: 未解決の外部シンボル _sqlastrt@12 が関数 _main で参照されました。 Test11.exe : fatal error LNK1120: 5 件の未解決の外部参照

  • C++でのエラー LNK2001

    C++でプログラミング中ビルドしたところ以下のようなエラーが出ました。解決方法がわかりません。どのようにしたら解決できるのでしょうか? ---------------------------------------------------------------- コンパイル中... sample01.cpp リンク中... sample01.obj : error LNK2001: 外部シンボル "__imp__dispose_library" は未解決です sample01.obj : error LNK2001: 外部シンボル "__imp__get_copyright_information" は未解決です sample01.obj : error LNK2001: 外部シンボル "__imp__get_version_information" は未解決です sample01.obj : error LNK2001: 外部シンボル "__imp__initialize_library" は未解決です sample01.obj : error LNK2001: 外部シンボル "__imp__close_reader_writer" は未解決です sample01.obj : error LNK2001: 外部シンボル "__imp__get_last_error_types" は未解決です Debug/Sample01.exe : fatal error LNK1120: 外部参照 6 が未解決です。 link.exe の実行エラー

  • C言語についてです。

    プログラムを実行しようとすると、 main.obj : error LNK2001: 外部シンボル ""void __cdecl DrawGameOver(void)" (?DrawGameOver@@YAXXZ)" は未解決です。 fatal error LNK1120: 外部参照 1 が未解決です。 とでてしまいます。 どうすれば解決するのでしょうか? 初心者なのでなるべく分かりやすくお願いします。

  • DirectX8でコンパイルエラー

    DirectX8実践プログラミングという本についてくるサンプルプログラムを コンパイルしようとしているのですが、 sprite.obj : error LNK2001: 外部シンボル "_D3DXCreateSprite@8" は未解決です sprite.obj : error LNK2001: 外部シンボル "_D3DXCreateTextureFromFileA@12" は未解決です sprite.obj : error LNK2001: 外部シンボル "_Direct3DCreate8@4" は未解決です .\Debug/spriteanimate.exe : fatal error LNK1120: 外部参照 3 が未解決です。 link.exe の実行エラー となってしまいます。DirectXを使っての勉強をはじめたばかりなのですが いきなりつまってしまいました。 おそらくライブラリが見つからないのかと思うのですが ライブラリのディレクトリ設定でC:\mssdk\libも追加されていました。 DirectX8SDKについてくるサンプルはコンパイル出来るのですが どういう理由が考えられるでしょうか?

  • HTMLファイルのソースを読み出すプログラム

    HTMLファイルのソースを読み出すプログラムで実行したところ、以下↓のようなエラーが出ました。 readhrml.obj : error LNK2001: 外部シンボル "__imp__InternetReadFile@16" は未解決です readhrml.obj : error LNK2001: 外部シンボル "__imp__InternetCloseHandle@4" は未解決です readhrml.obj : error LNK2001: 外部シンボル "__imp__InternetOpenUrlA@24" は未解決です readhrml.obj : error LNK2001: 外部シンボル "__imp__InternetOpenA@20" は未解決です Debug/readhrml.exe : fatal error LNK1120: 外部参照 4 が未解決です。 一応、参考書と照らし合わせてみたのですが、プログラム自体には誤りがないとは思います。このエラーの原因は何か、そしてプログラムを実行するにはどのようにすればいいのか教えてください。C言語の勉強をしているんですが、C言語の知識はそんなにありませんので、なるべく専門用語などは砕いたような形で表現していただければ幸いです。どうかお願いします。

  • C++で、外部シンボル・外部参照が未解決

    どんな簡単な間違っていないようなプログラムをビルドしても、同じエラーメッセージが現れてきます。 これは、もしかしてインストールの仕方がまずかったのでしょうか? LIBCD.lib(wincrt0.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です Debug/hello.exe : fatal error LNK1120: 外部参照 1 が未解決です。 link.exe の実行エラー hello.exe - エラー 2、警告 0

  • VC6.0でエラー

    環境:winNT4.0,vc6.0 コンソールアプリケーション作成でデバックモードではエラー、警告は、出ないのですが リリースモードで下記のようなエラーがでます。 エラーを消すにはどうしたらよいのでしょうか? 宜しくお願いします。 --------------------構成: muktc - Win32 Release-------------------- リンク中... muktc.obj : error LNK2001: 外部シンボル "_WSACleanup@0" は未解決です muktc.obj : error LNK2001: 外部シンボル "_WSAStartup@8" は未解決です muktc.obj : error LNK2001: 外部シンボル "_WSAGetLastError@0" は未解決です muktc.obj : error LNK2001: 外部シンボル "_gethostname@8" は未解決です muktc.obj : error LNK2001: 外部シンボル "_NetRemoteTOD@8" は未解決です Release/muktc.exe : fatal error LNK1120: 外部参照 5 が未解決です。 link.exe の実行エラー muktc.exe - エラー 6、警告 0

  • 外部シンボルについて

    リンク中... session.obj : error LNK2001: 外部シンボル "_bcopy" は未解決です session.obj : error LNK2001: 外部シンボル "_bzero" は未解決です Debug/session.exe : fatal error LNK1120: 外部参照 2 が未解決です。 link.exe の実行エラー VC++を使用しましてビルドとコンパイルをしますと上記のようなエラーがでます。ライブラリのリンク不足なのでしょうか?どのファイルを使用すればいいかわかりません。宜しくお願いします。

  • 「外部シンボル "_DirectDrawCreate@12" は未解決」って???

    外国のサイトで拾ってきたVisual C++のソースコードをコンパイルしたら 次のようなエラーが出ました。 --------------------------------- (1) test.obj : error LNK2001: 外部シンボル "_DirectDrawCreate@12" は未解決です (2) nafxcwd.lib(thrdcore.obj) : error LNK2001: 外部シンボル "__endthreadex" は未解決です (3) nafxcwd.lib(thrdcore.obj) : error LNK2001: 外部シンボル "__beginthreadex" は未解決です (4) Debug/prog.exe : fatal error LNK1120: 外部参照 3 が未解決です。 (5) link.exe の実行エラー --------------------------------- 特に、(1)~(3) の意味がよく分かりません。 Readmeを見ると、「コンパイルすればいい」としか書いてないのですが、、、 もし原因がわかったらお願いします。

  • OpenNIの動作について

    OpenNIをvisual studio2008で動作させようとしています。 そこで以下のメッセージが出て動作しません。インクルードファイルのリンクはしたつもりなのですが、参照できていないのでしょうか。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniDeviceCreateStream" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniFrameRelease" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniDeviceIsPropertySupported" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniStreamGetSensorInfo" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniDeviceClose" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniShutdown" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniGetExtendedError" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniWaitForAnyStream" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniInitialize" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniStreamStart" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniDeviceGetInfo" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniStreamIsPropertySupported" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniDeviceOpen" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniDeviceGetSensorInfo" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniStreamDestroy" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniStreamStop" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniStreamReadFrame" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniDeviceIsCommandSupported" は未解決です。 1>C:\Users\sakata\Documents\Visual Studio 2008\Projects\openNI_test\Release\openNI_test.exe : fatal error LNK1120: 外部参照 18 が未解決です。 以上です。 追加のインクルードディレクトリには C:\Program Files\OpenNI2\Include\Win32 C:\Program Files\OpenNI2\Include 追加のライブラリディレクトリには "C:\Program Files\OpenNI2\Lib" を追加しました。 環境変数はOpenNIをインストールしたときに勝手に追加されたので間違っていないと思います。 環境は以下です。 OS:Windows7 32bit OpenNIはOpenNI2を入れています。(2013年6月現在で最新?) もちろん32bit版です。 動作カメラはXtionです。ドライバインストール済みで、サンプルプログラムの.exeファイルでの動作は確認しています。 他の質問でx64でビルドすれば通るなどと書いてありますが、それは64bit版OSの話ですよね? 原因わかる方、回答お願いします。

専門家に質問してみよう