8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

Qt 无法使用 Studio 2022 检测 MSVC 编译器

killa_whale 2月前

99 0

我遇到了同样的问题,有人可以帮忙吗?类似于之前问的问题:Qt 无法检测到 MSVC 编译器。已安装 visual studio 2022。下面是 cmake 版本 -C:\Users\...

我遇到了同样的问题,有人可以帮忙吗?

与之前提出的问题类似: Qt 无法检测 MSVC 编译器 .

已安装 visual studio 2022。以下是 cmake 版本 -

C:\Users\admin\source\repos>cmake.exe --versioncmake 版本 3.27.7CMake 套件由 Kitware (kitware.com/cmake) 维护和支持。

我无法弄清楚为什么无法检测到编译器。

以下是我的截图:

enter image description here

enter image description here

enter image description here

enter image description here

帖子版权声明 1、本帖标题:Qt 无法使用 Studio 2022 检测 MSVC 编译器
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由killa_whale在本站《qt》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 你链接的问题也是你的问题吗?如果是,请不要发布重复的问题,如果有新的详细信息要添加,请编辑原始问题

  • @AlanBirtles 不,这不是我的问题,但我面临同样的情况,并尝试了解决方案,但没有奏效

  • 由于您使用的是为 VS 2015 构建的非常旧的 Qt 版本,它可能与 VS 2022 不兼容,因此您应该下载较新的版本或至少为 VS 2022 构建的版本

  • 您必须在安装程序中选择所需的编译环境:

    Screenshot of installer selection

    在 Qt Creator 中,似乎仅支持 Qt 6 的 MSVC2019,支持 Qt 5 的 MSVC2015-MSVC2019。

    官方在线安装程序

  • 我正在研究一个大型 Qt/C++ 项目,并试图基于源代码和调试器找到解决方法。我不是在寻求项目方面的帮助,但我对以下问题感到困惑...

    我正在研究一个大型 Qt/C++ 项目,并试图基于源代码和调试器找到解决方法。我并不是在寻求项目方面的帮助,但我对调试器在以下情况下的行为方式感到困惑。

    有一个 if 语句,内容如下:

        if (multiInstancesProvider()->isMainInstance()) {
            splashScreen = new SplashScreen(SplashScreen::Default);
        }
    

    我认为这句话的确切含义与我的问题无关。我的问题如下:

    当我在 \'if\' 行上设置断点并逐步执行时,标记移动到 \'splashScreen\' 行。我假设这意味着此时的条件计算为 true 。但是当我在 Expression 视图的 Name 列中输入条件时 multiInstancesProvider()->isMainInstance() ,它会 <no such value> 在 Value 列中给出。

    通过一些实验,我发现如果我在 if 语句之前插入一行:

    bool condition = multiInstancesProvider()->isMainInstance();

    如果我进入 condition 表达式视图,它确实会 true 在值列中显示。

    这是否意味着调试器无法评估表达式,只能评估变量?或者表达式是否有特殊语法?感谢您的帮助!

  • 我正在尝试弄清楚如何获取 ansible_facts 报告的值。我不知道我不知道什么,所以我寻求帮助,了解我需要学习什么才能理解如何操作数据...

    我正在尝试弄清楚如何获取 ansible_facts 报告的值。我不知道我不知道什么,所以我寻求帮助,了解我需要学习什么才能理解如何操纵数据来获得我想要的东西。
    示例:我想从 ansible_facts 输出的“devices”中获取每个 dm 设备的“size”信息。但它没有提供我想要的信息。

    这个剧本展示了我所尝试过的-

    $ more vargetip.yml
    ---
    
      - name: make a csv file
        hosts: remote1
        serial: 1
        gather_facts: false
    
        tasks:
    
    
          - ansible.builtin.setup:
              gather_subset:
                - "!all"
                - devices
    
          #- set_fact:
              #dmlist: "{{ ansible_devices.keys() | select('regex', '^dm')}}"
    
    
          - ansible.builtin.debug:
              var: "{{ ansible_devices.keys() | select('match', '^dm') |map(attribute='size_total') }}"
    
    #          msg: "{{ ansible_devices.keys() | select('string')|list }}" #attr('dm') }}" #| map(attribute='ids') }}"
    #          msg: "{{ ansible_mounts | selectattr('device') | map(attribute='size_total') }}"
    #          msg: "{{ ansible_mounts | map(attribute='device') | map(attribute='mount') | map(attribute='size_total')  }}"
    
  • 有人能帮我解决以下问题吗?我对编程还比较陌生,似乎不知道自己做错了什么。我发现了太多的字典函数,我真的

    有人能帮我解决以下问题吗?我对编程还比较陌生,似乎不知道我做错了什么。

    我发现太多字典函数了,我真的很纠结。我的代码一次又一次地给出 Key-Error,当我终于设法运行程序时,它返回“None”或 0。

    以下是代码示例。

    # Dictionary called choices.
    choices = {
        '1.': 'One',
        '2.': 'Two',
        '3.': 'Three',
    }
    
    # Display the choices to the user.
    for k, v in choices.items():
        print(f'{k} {v}')
    
    # Ask the user to make a choice from the dictionary options.
    my_choice = int(input('Choose a number 1, 2 or 3: '))
    
    # Make the choice the same as the index[number] of the dictionary
    my_choice -= 1
    
    
    # From here I get stuck
    print(f'You have chosen {choices.get(str(my_choice))}.')     # This returns a 0 or None
    
    
    # The desired output is
    
    You have chosen Two.
    

    我尝试了以下选项将字典项分配给 my_choice 变量:

    for loops 
    dict.values()
    dict .get()
    dict.items()
    new_choice = str(my_choice)
    
    # The desired output is
    
    You have chosen Two.
    
  • 字典是通过键访问的,而不是像你想象的那样通过索引访问。我强烈建议你遵循一个好的、结构良好的教程,它可以通过明确这一点来帮助你。

  • 由于您的字典键以 结尾 . ,因此您需要将其添加到用户输入中以便匹配。 choices.get(f'{my_choice}.'))

    print(f"You have chosen {choices.get(str(my_choice) + '.')}.")
    

    或者,您也可以使用整数作为键。

    choices = {
        1: 'One',
        2: 'Two',
        3: 'Three',
    }
    

    进而

    print(f"You have chosen {choices.get(my_choice)}.")
    
  • 引用 11

    我遇到了一个问题,我尝试了好几天,但没有任何结果。我想比较两本词典,一本词典中有“赛前”足球比赛,另一本词典中有“...

    我遇到了一个问题,我尝试了好几天却没有任何结果。我想比较两本词典,一本词典中有“赛前”足球比赛,第二本词典中有“现场”足球比赛。

    如果没有赛前比赛直播,我想将它们相互比较并打印出来。

    示例 1

    pre = [{
            "Home": "Genoa",
            "Away": "Inter",
            "Match Full": "Genoa v Inter",
            "Start Data": "19 Lug",
            "Start Time": "21:30"
        },
        {
            "Home": "Parma",
            "Away": "Fiorentina",
            "Match Full": "Parma v Fiorentina",
            "Start Data": "17 Ago",
            "Start Time": "18:30"
        }]
    
    live = [{
            "Home": "Dagon Star United FC",
            "Away": "Ispe FC",
            "Match Full": "Dagon Star United FC v Ispe FC"
        },
        {
            "Home": "Genoa",
            "Away": "Inter",
            "Match Full": "Genoa v Inter"
        }]
    
    check = [[x for x in pre if x['Match Full'] != i['Match Full']] for i in live]
    
    print(check)
    

    我没有收到想要的结果,我也尝试了以下代码,但没有收到正确的结果。

    示例 2

    pre = [{
            "Home": "Genoa",
            "Away": "Inter",
            "Match Full": "Genoa v Inter",
            "Start Data": "19 Lug",
            "Start Time": "21:30"
        },
        {
            "Home": "Parma",
            "Away": "Fiorentina",
            "Match Full": "Parma v Fiorentina",
            "Start Data": "17 Ago",
            "Start Time": "18:30"
        }]
    
    live = [{
            "Home": "Dagon Star United FC",
            "Away": "Ispe FC",
            "Match Full": "Dagon Star United FC v Ispe FC"
        },
        {
            "Home": "Genoa",
            "Away": "Inter",
            "Match Full": "Genoa v Inter"
        }]
    
    for x in pre:
        for i in live:
            if x['Match Full'] != i['Match Full']:
                print(x['Match Full'])
    

    我想要得到的只是 \'live\' 字典中缺少的赛前信息,在这种情况下它应该只打印 \'Parma v Fiorentina\',因为它在字典中缺失

    任何解决方案都将受到赞赏,提前谢谢您。

  • #Create a list of value of 'Match Full' from live
    live_lst = [x["Match Full"] for x in live] 
    
    for x in pre:
        if x["Match Full"] not in live_lst:
            print(x["Match Full"])
    
    #Output : Parma v Fiorentina
    
  • 这应该做

    def get_set(matches):
        return set([match_['Match Full'] for match_ in matches])
        
    pre_set= get_set(pre)
    live_set = get_set(live)
    print(pre_set-live_set) # {'Parma v Fiorentina'}
    
  • 谢谢!这个方法可行,有没有办法通过简单的 for 循环来实现?你能给我解释一下这一切吗?

返回
作者最近主题: