zu erstellen Ich versuche, eine LNK-Datei programmatisch zu erstellen. Ich würde lieber C, aber C++ ist in Ordnung (und das ist, was alle MSDN-Zeug ist).Wine Linker Fehler: versuchen, .lnk
Das entsprechende Codebeispiel ist:
#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;
}
Ich versuche, mit WINEG comple ++ verwenden:
wineg++ -mno-cygwin -o t t2.cpp
Und ich bin immer folgende Fehler:
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
Irgendwelche Ideen?
Sie sagen, Ihre Frage ist, wie Sie eine Verknüpfungsdatei erstellen, aber das Problem, das Sie veranschaulichen, ist ein Linker-Fehler. Weißt du, wie man die Verknüpfung erstellt, und du hast nur Probleme beim Erstellen des Programms, oder wird das Fixieren des Linker-Problems immer noch Sie stecken stecken fragen, was als nächstes zu tun? –
I * denke * Ich habe einen Beispielcode von MSDN, der die Grundlage für das ist, was ich brauche, wenn ich es zum Verknüpfen bringen kann. Ich sollte wohl den Fragetitel ändern, es ist * irreführend – singpolyma