我試圖用MobaXterm終端在CPU上編譯我的代碼,我使用make命令來編譯我的代碼。但出現了許多錯誤,首先是下面這些錯誤。我在網上搜索了一下,了解到這是編譯器的問題。但我使用的是make而不是g 。有什么建議可以解決這些編譯問題。
在檔案中包含了從/usr/include/c /4.8.2/array:35:0。
從host/src/host.cpp:16。
/usr/include/c /4.8.2/bits/c 0x_warning.h:32:2:錯誤。
Makefile:
ifeq ($(VERBOSE),1)
ECHO :=
else[/span]。
ECHO := @
endif
# 哪里是Intel(R) FPGA SDK for OpenCL(TM)軟體?
ifeq ($(通配符$(INTELFPGAOCLSDKROOT)),)
$(error 將INTELFPGAOCLSDKROOT設定為Intel(R) FPGA SDK for OpenCL(TM) 軟體的安裝根目錄)
endif
ifeq ($(通配符$(INTELFPGAOCLSDKROOT)/host/include/CL/opencl.h),)
$(error 將INTELFPGAOCLSDKROOT設定為Intel(R) FPGA SDK for OpenCL(TM) 軟體安裝的根目錄。)
endif
# OpenCL編譯和鏈接標志。
AOCL_COMPILE_CONFIG := $(shell aocl compile-config )
AOCL_LINK_CONFIG := $(shell aocl link-config )
# 編譯標志
ifeq ($(DEBUG),1)
CXXFLAGS = -g
else
cxxflags = -o2
endif
# 編譯器
CXX := g
# 目標
TARGET := host
TARGET_DIR := bin
# 目錄
INC_DIRS := ./common/inc
LIB_DIRS :=
# 檔案
INCS := $(通配符 )
SRCS := $(通配符 host/src/*.cpp ../common/src/AOCLUtils/*.cpp)
LIBS := rt pthread
# 把它變成全部!
all : $(TARGET_DIR)/$(TARGET)
# 主持可執行的目標。
$(TARGET_DIR)/$(TARGET) : Makefile $(SRCS) $(INCS) $(TARGET_DIR)
$(ECHO)$(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIC $(foreach D,$(INC_DIRS), -I$D)
$(aocl_compile_config) $(srcs) $(aocl_link_config)
$(foreach D,$(LIB_DIRS),-L$D)
$(foreach L,$(LIBS),-l$L)
-o $(TARGET_DIR)/$(TARGET)
$(target_dir) :
$(ECCHO)mkdir $(TARGET_DIR)
# 標準make目標
clean :
$(ECHO)rm -f $(TARGET_DIR)/$(TARGET)
.PHONY : 全部清理
^
uj5u.com熱心網友回復:
經過多次嘗試和建議,我終于找到了解決辦法:
編輯我的Makefile,如下:
# Compilation flags
ifeq ($(DEBUG),1)
CXXFLAGS = -g -std=c 11。
else
CXXFLAGS = -O2 -std=c 11
endif
uj5u.com熱心網友回復:
這更像是一個編譯器的問題,而不是make的問題。
- 檢查編譯器是否有問題?
- 檢查編譯器是否為你所在的系統正確設定了。
- 此外,如果編譯器設定得很好,請檢查它是否兼容編譯C 11標準,因為舊的編譯器可能是問題所在。
我認為,如果你能做到以下幾點,也會很有幫助。 -包括你使用的是什么作業系統 -你使用的是什么編譯器
讓我知道這是否有用。轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/314106.html
標籤:
