簡體   English   中英

gcc使用-o而不是-o3構建?

[英]gcc builds with -o but not -o3?

我的Makefile看起來像這樣:

CC=gcc
CFLAGS=-Wall -Wextra -std=c99 -pedantic
OBJECTS=main.o Scene.o Matrix.o Vector.o Triangle.o Color.o Raster.o

render: $(OBJECTS)
    $(CC) $(CFLAGS) -lm -o render -g $(OBJECTS)
    rm $(OBJECTS)

clean:
    rm -f render*

這構建我的可執行文件沒有錯誤,但是當我將-o更改為-o2或-o3時,我收到錯誤:

gcc -Wall -Wextra -std=c99 -pedantic   -c -o main.o main.c
gcc -Wall -Wextra -std=c99 -pedantic   -c -o Scene.o Scene.c
gcc -Wall -Wextra -std=c99 -pedantic   -c -o Matrix.o Matrix.c
gcc -Wall -Wextra -std=c99 -pedantic   -c -o Vector.o Vector.c
gcc -Wall -Wextra -std=c99 -pedantic   -c -o Triangle.o Triangle.c
gcc -Wall -Wextra -std=c99 -pedantic   -c -o Color.o Color.c
gcc -Wall -Wextra -std=c99 -pedantic   -c -o Raster.o Raster.c
gcc -Wall -Wextra -std=c99 -pedantic -lm -o3 render -g main.o Scene.o Matrix.o Vector.o Triangle.o Color.o Raster.o
gcc.exe: error: render: No such file or directory
make: *** [render] Error 1

優化標志檢測到的代碼中可能存在一些錯誤,但由於在此之前我沒有收到任何錯誤消息,因此很難知道出現了什么問題。 我在Windows 7上使用MinGW / MSYS。

-o render表示使用名稱render創建輸出文件。

現在您將此-o更改為-o3 ,這是不正確的。 相反,您需要保持-o render ,並添加-O3標志以進行優化。 注意大寫字母O

-o是輸出文件標志。 你在考慮-O (資本)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM