我正在尝试以编程方式创建一个 .lnk 文件。我更喜欢使用 C,但 C++ 很好(并且是所有 MSDN 的内容)。
相关的代码示例是:
#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++:
wineg++ -mno-cygwin -o t t2.cpp
我收到以下错误:
t2-Tw9YPp.o:在函数“CreateLink(char const*, char const*, char const*)”中: t2.cpp:(.text+0x34): 对‘IID_IShellLinkA’的未定义引用 /usr/bin/ld: t2-Tw9YPp.o: 重定位 R_386_GOTOFF 针对未定义的隐藏符号 `IID_IShellLinkA' 在制作共享对象时不能使用 /usr/bin/ld:最终链接失败:错误值 collect2: ld 返回 1 个退出状态 winegcc:i486-linux-gnu-g++ 失败
有任何想法吗?