Diese Frage hat schon eine Antwort hier: Ich merke, dass diese Frage schon vorher gefragt wurde, obwohl meine Umstände etwas anders sind und ich habe keine der anderen Antworten hilfreich gefunden, ich bin neu bei QTCreator. Ich versuche, ein Projekt mit QTCreator zu bauen, das auf OSX gut baut, aber beim Aufbau es mit Ubuntu bekomme ich diesen Fehler: Das Projekt baut und teils funktioniert, aber nicht auf ein externes Gerät schreiben (der Punkt des Programms). Kann jemand eine Komplettlösung von dem geben, was ich tun muss, haben vorherige Antworten über die explizite Verbindung von Dingen gesagt, aber nicht in Details über, wie dies zu tun. Irgendwelche Tipps auf der Suche durch das Projekt zu finden, wo man dieses Update machen (ich habe nicht das ursprüngliche Programm geschrieben). Jede Hilfe wird geschätzt Tom fragte am 24. Juni um 10:07 als Duplikat von Jan Dvorak markiert. Rene Hyde 4dgaurav Xan Jun 24 14 at 13:06 Diese Frage wurde vorher gefragt und hat bereits eine Antwort. Wenn diese Antworten Ihre Frage nicht vollständig ansprechen, bitte eine neue Frage stellen. Nur weil es der gleiche Fehler ist, bedeutet nicht, dass es die gleiche Ursache ist und sie daher nicht zusammen gruppiert werden sollten. In deinem Link haben sie einen Parameter hinzugefügt, so dass sie natürlich nicht passen können. Aber alles was ich getan habe ist Switch-Plattformen (keine Änderung an der Projekt-Code) so obv etwas anderes geht hier falsch. Ndash holmeswatson Wenn diese Arbeit Sohn eine Plattform, aber nicht auf einem anderen, dann ein möglicher Grund ist, haben Sie nicht eine saubere bauen auf einer der Plattformen. Um sauber zu bauen, reinigen Sie zunächst alle zusätzlichen Dateien aus dem Quellverzeichnis (z. B. mit Versionskontroll-Tools, um alle unversionierten Dateien zu entfernen). Dies ist wichtig, denn der Compiler sucht nach einigen Dateien vorsätzlich unter Quellverzeichnis, und wenn es abgestandene Quelldateien gibt (moc .. ui. h. etc), werden sie anstelle der richtigen im Build-Verzeichnis verwendet. Dann stellen Sie sicher, dass Sie Schatten-Builds aktiviert in Qt Creator für das Projekt und den Build, und machen Sie eine saubere bauen. Oder bekomm einfach einen neuen Checkoutclon von der Versionskontrolle in ein sauberes Verzeichnis. Ein weiterer möglicher Grund ist die Verwendung von ifdef, was zu unterschiedlichen Build-Ergebnissen auf verschiedenen Plattformen führt. Oder die Projekte. pro-Datei kann auch bedingte Abschnitte haben, was dazu führt, dass verschiedene Dateien auf verschiedenen Plattformen aufgebaut werden oder unterschiedliche Kompilierungsbefehle verwendet werden. Antwortete am 24.06.2012 um 12:15 2017 Stack Exchange, IncI setze ein QT-Menü ein, das automatisch mit der Aktionsfunktion onactionOpentriggered () verbunden ist. Später möchte ich einen Dateinamenstring an diese Funktion übergeben, um diese Funktion manuell in einer speziellen Bedingung aufzurufen. Also habe ich die Funktionssignatur auf onactionOpentriggered (const char filenamein) geändert. Nach dieser Änderung läuft das Programm gut, aber es gibt eine Beschwerde im Terminal, QMetaObject :: connectSlotsByName: Kein passendes Signal für onactionOpentriggered (const char) Ich frage mich, was passiert ist und wie ich Argumente für diese Menü-Aktionsfunktionen hinzufügen kann. Qt Autoconnection-Mechanismus kann kein passendes Signal zu Ihrem Slot finden. Für Menüpunkt theres kein Signal, das Ihren Schlitz mit einem Argument zusammenbringen würde und Signal darf nicht weniger Argumente als Schlitz haben. Sie können den Slots-Namen ändern, damit es nicht versucht, ein passendes Signal zu finden und QObject :: direkt anstelle von QMetaObject :: connectSlotsByName zu verwenden. Außerdem müssen Sie Ihrem Argument Dateinamein Standardwert zuweisen, wenn Sie eine Verbindung zur Verbindung mit einem ausgelösten Signal wünschen. Antwortete am 22.06 bei 20:09
No comments:
Post a Comment