Cygwin64 не будет отображать мой исполняемый файл для C

#c #cygwin

#c #cygwin

Вопрос:

Итак, я изучаю информатику, и мне нужно повторно загрузить cygwin64 на мой новый ноутбук, который я получаю. Я следую этому руководству по установке cygwin64: https://www3.ntu.edu.sg/home/ehchua/programming/howto/Cygwin_HowTo.html Я использую cygwin для компиляции файлов .cpp и запуска исполняемого файла для отображения на терминале. По какой-то причине я могу скомпилировать, но когда я запускаю созданный файл .exe, он ничего не выводит из моего кода. Имейте в виду, что я использую cygwin для своего старого ноутбука, и он там работает. Я не помню шаги, которые я сделал, чтобы загрузить его и заставить его работать должным образом. Вот пример кода, который я скомпилировал, а затем запустил на своем старом ноутбуке, а теперь на моем новом ноутбуке вместе с кодом:

 #include<iostream>
#include<forward_list>
using namespace std;

int count_nodes(forward_list<int> lst, forward_list<int>::iterator it, int cnt = 0){
    if(it == lst.end()){
        return cnt;
    } else {
        cnt = cnt   1;
        it  ;
        return count_nodes(lst,it,cnt);
    }
}
int main() {
    forward_list<int> first;
    forward_list<int> second;
    forward_list<int> third;
    first.assign({1,2,3,4,5,6,7,8,9,10});
    second.assign({1,2,3,4,5});
    third.assign({1,2,3,4,5,6,7,8,9,10,11,12,13,14,15});
    cout << "First Count: " << count_nodes(first,first.begin()) << endl;
    cout << "Second Count: " << count_nodes(second,second.begin()) << endl;
    cout << "Third Count: " << count_nodes(third,third.begin()) << endl;
}
  

Старый ноутбук Cygwin

Новый ноутбук Cygwin

Итак, мой вопрос в том, что я сделал не так? Что я не загрузил?

Комментарии:

1. Попробуйте добавить .exe в конце? Возможно, новый ноутбук не распознает его.

2. Было бы интересно посмотреть, что произойдет, когда вы запустите программу под gdb.

3. Эй, попробуйте этот эксперимент: выделите текст командной строки, который вы хотите скопировать, нажмите <ctrl><Вставить>. Отредактируйте свой вопрос, а затем вставьте текст в свой вопрос. Это сработало? Я часто выделял командные подсказки Cygwin и вставлял их в другие документы. Интересно, что текст более масштабируемый, чем изображения, и занимает меньше места.

4. Похоже, что вы не используете сборку Cygwin g и что у вас есть какая-то установка MinGW на вашем пути. Что echo $PATH показывает и что which g показывает? Повторно запустите программу установки Cygwin и убедитесь, что выбран необходимый для сборки пакет.