アプリ版:「スタンプのみでお礼する」機能のリリースについて

C言語でレジストリを取得する時に「未解決の外部シンボル」エラー
レジストリを取得したくて、下記のコードで実行したら、

======================================================================
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>
#include <shlwapi.h>

int main(void)
{
char Value[1000];
DWORD ValueSize;
char *DefaultValue = "";

ValueSize = 1000;

/* HKEY_LOCAL_MACHINEのSoftware\masapicoというキーにあるfooという名前のレジストリ値を取得 */
SHRegGetUSValue(
"Software\masapico",
"foo",
NULL,
Value,
&ValueSize,
FALSE,
DefaultValue,
lstrlen(DefaultValue) + 1);

/* 結果を表示 */
printf("%s\n", Value);

return 0;
}


======================================================================


こういうエラーが出ます。

1>コンパイルしています...
1>testExe.cpp
1>リンクしています...
1>testExe.obj : error LNK2019: 未解決の外部シンボル _SHRegGetUSValueA@32 が関数 _main で参照されました。
1>I:\testExe\Debug\testExe.exe : fatal error LNK1120: 外部参照 1 が未解決です。


いろいろ調べましたが原因はわからず困っています。

Javaはある程度やってましたが、Cに関しては初心者です。

環境は
Win7 64bitです。

WinXPの環境でコンパイルしても同じ現象です。
その時のエラーは

error LNK2019: 未解決の外部シンボル _SHRegGetUSValue が関数 _main で参照されました。

A 回答 (1件)

Shlwapi.lib がリンクされてないんじゃないかしら。

    • good
    • 0

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