【问题标题】:Configuration Manager and Command Line配置管理器和命令行
【发布时间】:2012-03-02 18:05:20
【问题描述】:

我正在尝试编译一个包含 CUDA 代码的应用程序。我有一台运行 Windows 7 的 64 位机器,并且有 Visual c++ 2008 express 版本(免费版)。为了能够使用 cuda 编译器,我按照here 中的步骤进行操作。 cuda 文件(带有 *.cu 扩展名)现在可以正常编译,但其他普通 C++ 文件使用 32 位,因为在 IDE 顶部(配置管理器)的下拉框中,它显示 Win32,所以我收到此错误.

fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'

请注意,在 IDE 中,我将链接器的目标机器正确设置为 MachineX64(属性->配置属性->链接器->高级->目标机器)。但是,查看命令行,它是这样的。

/OUT:"C:\Users\jan\Desktop\gpu\Release\gpu.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"C:\CUDA\lib64" /LIBPATH:"../../common/lib" /MANIFEST /MANIFESTFILE:"Release\gpu.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Users\jan\Desktop\gpu\Release\gpu.pdb" /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /LTCG /DYNAMICBASE /NXCOMPAT /MACHINE:X64 /ERRORREPORT:PROMPT cudart.lib   C:\CUDA\lib64\cudart.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

注意,32 位版本的运行时库正在传递到命令行。我怎么能要求该死的编译器使用 64 位。这是否与配置管理器有关。人们告诉我去configuration manager 并在active solution platform 下拉列表中选择new 并从那里选择x64。但是type or select new platform 下拉列表是空白的。请帮我。我要疯了。请注意,我的计算机中有所有 64 位编译工具,因为我安装了完整的 Windows SDK。

【问题讨论】:

标签: c++ visual-studio-2008 visual-c++ cuda x86-64


【解决方案1】:

按照this site 上给出的步骤进行操作。

【讨论】:

    猜你喜欢
    • 2017-04-17
    • 1970-01-01
    • 1970-01-01
    • 2019-05-05
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多