kwea123 / kwea123/pytorch-cppcuda-tutorial

Windows安装报错:LINK : fatal error LNK1181: 无法打开输入文件“G:\code\Cpp\cppcuda\build\temp.win-amd64-cpython-38\Release\interpolation.obj”

Offen
#6 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Cuda
Sterne
424
Forks
40
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

当我运行setup.py时,出现了下面的报错:
LINK : fatal error LNK1181: 无法打开输入文件“G:\code\Cpp\cppcuda\build\temp.win-amd64-cpython-38\Release\interpolation.obj”
error: command 'F:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\link.exe' failed with exit code 1181
请问有人遇到和我一样的错误吗

下边是我的代码
interpolation.cpp :
#include <torch/extension.h>

// 定义函数
torch::Tensor trilinear_interpolation(
torch::Tensor feats,
torch::Tensor point
){
return feats;
}

// 提供python调用C++的桥梁
PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) {
// 第一个参数,python调用使用的名称,第二个参数,调用哪个方法。
m.def("trilinear_interpolation", &trilinear_interpolation);
}

setup.py:
from setuptools import setup
from torch.utils.cpp_extension import CppExtension, BuildExtension

setup(
# python中import的名称
name="cppcuda_tutorial",
version="1.0",
description="cppcuda example",
long_description="cppcuda example",
# 程序代码位置
ext_modules=[
CppExtension(
name="cppcuda_tutorial",
sources=["interpolation.cpp"]
)
],
cmdclass={
'build_ext': BuildExtension
}
)
c_cpp_properties.json:
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"D:/miniconda3/envs/cppcuda/include",
"D:/miniconda3/envs/cppcuda/Lib/site-packages/torch/include",
"D:/miniconda3/envs/cppcuda/Lib/site-packages/torch/include/torch/csrc/api/include"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.19041.0",
"compilerPath": "cl.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-msvc-x64"
}
],
"version": 4
}

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit setup.py und interpolation.cpp und untersuche dann die Build-Ausgabe von setup.py im Bereich der fehlenden Datei interpolation.obj und des MSVC-Linkerbefehls. Reproduziere den Windows-Build und ermittle, warum die Objektdatei nicht erzeugt wird; abgeschlossen ist die Aufgabe, wenn setup.py ohne den Fehler LNK1181 durchläuft.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp, python, pytorch
Bereich
build-system
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
30/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.