プログラムで.lnkファイルを作成しようとしています。私はCを使うのが好きですが、C++はうまくいきます(そして、すべてのMSDNのものが入っています)。ワインリンカエラー:.lnkを作成しようとしています
関連するコードサンプルは次のとおりです。
#include <windows.h>
#include <shobjidl.h>
#include <shlguid.h>
HRESULT CreateLink(LPCSTR lpszPathObj, LPCSTR lpszPathLink, LPCSTR lpszDesc) {
HRESULT hres;
IShellLink* psl;
/* Get a pointer to the IShellLink interface. */
hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
IID_IShellLink, (LPVOID*)&psl);
return hres;
}
私が使っ++ winegでcompleしようとしている:
wineg++ -mno-cygwin -o t t2.cpp
をそして、私は次のエラーを取得しています:
t2-Tw9YPp.o: In function `CreateLink(char const*, char const*, char const*)': t2.cpp:(.text+0x34): undefined reference to `IID_IShellLinkA' /usr/bin/ld: t2-Tw9YPp.o: relocation R_386_GOTOFF against undefined hidden symbol `IID_IShellLinkA' can not be used when making a shared object /usr/bin/ld: final link failed: Bad value collect2: ld returned 1 exit status winegcc: i486-linux-gnu-g++ failed
何か案は?
あなたの質問はショートカットファイルを作成する方法ですが、あなたが示す問題はリンカエラーです。ショートカットを作成する方法を知っていますか?プログラムを作成するのに問題があるだけですか、リンカーの問題を解決するには、次に何をすべきか疑問に思っていますか? –
I * think * MSDNのコード例をいくつか用意しています。 – singpolyma