将 x86 更改为 x64 会影响我的 LNK1168 错误

Posted

技术标签:

【中文标题】将 x86 更改为 x64 会影响我的 LNK1168 错误【英文标题】:Changing x86 to x64 affects my LNK1168 Error 【发布时间】:2020-02-19 23:51:04 【问题描述】:

所以我使用 Visual Studio 在 C++ 中创建了一个代码,并且我正在学习制作类和使用方法/函数。该程序运行良好,直到我写了using namespace std; 并突然尝试运行我的代码我得到了一个 LNK1168 错误,我尝试了一切来修复它。

我确保没有任何任务在运行,我保存并关闭它并重新打开它以再次运行它,但无论我做什么,LNK1168 错误都会再次弹出。

然后我从调试 x86 切换到调试 x64,我的代码在 x64 上正常工作。

这有关系吗?如果是为什么,如果不是那我该怎么办?

#include<iostream>

// did not include the using namespace std; because that's when my issue started 
// not sure if it had something to do with it

class Player

public:
    int x, y;
    int speed;


void movin(int xa, int ya)

    x += xa * speed;
    y += ya * speed;


;



int main()


    Player player;

    player.movin(1, 1);

    std::cout << "apples are tasty";  // this is to make sure my code prints something


    std::cin.get();

    return 0;


我尝试查找 youtube 视频,但没有任何帮助!奇怪的是 x64 可以工作,但不是通常的 x86?这会影响我的代码或我如何编译我的代码吗?它会让事情运行得更慢吗?我很困惑。 单击错误后,我尝试查看 Windows 帮助站点,但没有任何帮助。有人知道吗?

【问题讨论】:

你可能会做一些其他的改变。上面在 x86 和 x64 中带有“命名空间 std”语句的代码在 VisualStudio 2019 上成功运行。 【参考方案1】:

LNK1168 表示当您尝试编译代码时您的可执行文件仍在运行。关闭应用,然后编译。

【讨论】:

你是什么意思,就像我退出一切并重新打开我的文件,然后我在 x86 上调试它我得到错误,但当它是 x64 时我没有。如果应用程序是指我的输出窗口,我关闭并编译它仍然出现错误。

以上是关于将 x86 更改为 x64 会影响我的 LNK1168 错误的主要内容,如果未能解决你的问题,请参考以下文章

LNK2019 错误:在 x64 机器上使用 x86 库 [重复]

LNK1112:模块机器类型“x64”与目标机器类型“x86”冲突-opencv 构建

致命错误 LNK1112:模块机器类型“X86”与 2010 的目标机器类型“x64”冲突

致命错误 LNK1112:模块机器类型“x64”与通过 vcvarsall.bat x86 运行构建的目标机器类型“X86”冲突

致命错误 LNK1112:模块机器类型“x64”与通过 vcvarsall.bat x86 运行构建的目标机器类型“X86”冲突

麻烦构建旧版本的 SIP:致命错误 LNK1112:模块机器类型“x64”与目标机器类型“X86”冲突