FXC :σφάλμα X3501:'κύριο':το σημείο εισόδου δεν βρέθηκε

FXC :σφάλμα X3501:'κύριο':το σημείο εισόδου δεν βρέθηκε

Η παρακάτω επιλογή λειτουργεί μόνο σε Visual Studio 2012 ή νεότερη έκδοση.

Εάν μεταγλωττίσετε ένα αρχείο .fx, μπορείτε να ορίσετε τον τύπο shader σε "fx" όπως παρακάτω:

  1. Κάντε δεξί κλικ στο έργο σας στο VS και επιλέξτε ιδιότητες

  2. Αναπτύξτε την επιλογή μεταγλωττιστή HLSL, επιλέξτε "Effect(/fx)" για Shader Type, μπορείτε επίσης να καθορίσετε μια συνάρτηση σημείου εισόδου για το Entrypoint Name.


δεδομένου ότι η Microsoft VS2012 αποφάσισε να συμπεριλάβει έναν μεταγλωττιστή HLSL (από εκεί προέρχεται το σφάλμα), αλλά δεν τον χρειάζεστε αφού φορτώνετε και μεταγλωττίζετε το αρχείο .fx κατά τη διάρκεια εκτέλεσης χρησιμοποιώντας τη συνάρτηση D3DX11CompileFromFile(). Επομένως, απλώς εξαιρέστε το αρχείο .fx από το build, κάντε δεξί κλικ στο αρχείο στην εξερεύνηση λύσεων και επιλέξτε ιδιότητες->ιδιότητες ρύθμισης παραμέτρων->γενικά->εξαιρούνται από την κατασκευή->ναι.


Η απάντηση rekotc είναι καλή, αλλά σε παραδείγματα Microsoft DirectX https://github.com/Microsoft/DirectXTK, "configuration properties->general->Item Type->Δεν συμμετέχει στη δημιουργία " χρησιμοποιείται αντί "configuration properties->general->excluded from build->yes ". Αυτό λειτουργεί επίσης.