導航:首頁 > 源碼編譯 > 環境下的編譯

環境下的編譯

發布時間:2023-09-23 02:02:57

A. 如何在VS2010環境下編譯C++程序

用 Visual Studio 編寫 Visual C++ 程序的第一步是選擇項目的類型。對於每種項目類型,Visual Studio 都為您設置編譯器設置並生成起始代碼。

創建新項目
在「文件」菜單中,指向「新建」,然後單擊「項目...」。

在「項目類型」區域中,單擊「Win32」。然後,在「Visual Studio 已安裝的模板」窗格中,單擊「Win32 控制台應用程序」。

鍵入項目名稱。

創建新項目時,Visual Studio 將該項目放入一個解決方案。請接受解決方案的默認名稱,該名稱與項目的名稱相同。

您可以接受默認位置、鍵入一個不同的位置或者瀏覽到要保存項目的目錄。

按「確定」啟動「Win32 應用程序向導」。

在「Win32 應用程序向導」對話框的「概述」頁中,單擊「下一步」。

在「應用程序類型」下的「應用程序設置」頁,選擇「控制台應用程序」。選擇「其他選項」下的「空項目」設置並單擊「完成」。

現在,您得到了一個沒有源代碼文件的項目。

這一章將幫助大家解釋一些常見的錯誤、警告和問題,幫助大家去理解和解決一些常見問題,並了解它的根本原因。
iostream.h與<iostream>
下面的代碼為什麼在VC2010下面編譯不過去?
#include <iostream.h>
int main()
{
cout<<"Hello World."<<endl;
return 0;
}
錯誤信息:fatal error C1083: 無法打開包括文件:「iostream.h」: No such file or directory
造成這個錯誤的原因在於歷史原因,在過去C++98標准尚未訂立的時候,C++的標准輸入輸出流確實是定義在這個文件裡面的,這是C風格的定義方法,隨著C++98標準的確定,iostream.h已經被取消,至少在VC2010下面是這樣的,取而代之的是我們要用<iostream>頭文件來代替,你甚至可以認為<iostream>是這樣定義的:
namespace std
{
#include "iostream.h"
}
因此我們可以簡單的修改我們的Hello World。
#include <iostream>
using namespace std;
int main()
{
cout<<"Hello World."<<endl;
return 0;
}
iostream.h是屬於C++的頭文件,而非C的,因此標准訂立的時候被改成了<iostream>。而C的頭文件stdio.h等依然可以繼續使用,這是為了兼容C代碼。但是它們依然有對應的C++版本,如<cstdio> <cstdlib>等。記住,在VC2010上面採用C++風格的頭文件而不是C風格的頭文件,除非你是在用C。

B. 在linux環境下怎麼寫代碼 ,編譯

Linux輸入命令行 vim test.c 會打開test.c文件,按 i 進入編輯模式,就可以開始寫代碼了。
寫好後按 ESC 退出編輯模式,輸入 :wq 保存並退出。
註:有些linux發行版上沒有默認安裝vim,要先安裝。vim是vi編輯器的增強版(vi是默認都帶的,也可以用 vi test.c)。

編譯,命令行輸入
gcc -Wall test.c -o test
說明:-Wall選項用於顯示所有警告,-o test 指定輸出的可執行文件名為test(默認不指定為a.out)

要用Windows下那種開發方式,就在Linux系統上裝個Eclipse(加上 c/c++ 插件)。

C. 如何編譯mapserver在windows環境下

編譯mapserver的時候一定要選擇一個根目錄
推薦 C 盤
在C盤下面創建一個projects目錄
將你的所以用來支持mapserver編譯的支持庫文件都放到該目錄下面
註:由於mapserver等都是開源的軟體。但是都有一定的版權。所以他們不是集成到mapserver下面的,而是有各種支持庫文件通過編譯說明文件鏈接
所有文件鏈接的說明文件在nmake.opt文件中。這是使用vc編譯的說明文件。在編譯的時候具體選擇支持什麼庫文件都可以在這里說明。

下面是具體的編譯環境
gdwin32 的bgd.lib是第一次編譯後拷貝過來的運行makemsvcimport.bat
libpng 的libpng.lib,libpngd.lib是第一次編譯後拷貝過來的vc6
freetype 的freetype2110_D.lib在vc7下面編譯成功
zlib zlib.lib 編譯成功在zlib123\contrib\vstudio\vc7用vc7
proj proj.lib 在vc7環境下編譯成功
curl libcurl.lib 在vc6編譯下成功 C:\projects\curl\lib
gdal gdal.lib 用submake.bat批處理文件執行編譯成功
pdflib 用vc7編譯成功 C:\projects\PDFlibLite
fcgi 沒有成功 將fcgi_config_x86.h改為fcgi_config.h用vc6編譯成功
jpeg 沒有編譯成功將gdal里的拷貝過來
regex 沒有編譯成功
編譯支持庫的時候比較艱難
仔細細心的查看各個支持庫中的文檔目錄。一般都會有一個可以通過的編譯。
編譯的時候也要懂得使用技巧。比如他說找不到庫文件或著什麼頭文件或源文件你都可以從其他地方拷貝一個過來。

附加nmake.opt文件的配置
#
# nmake.opt - MapServer 4.x configuration for MSVC++
#
# This VC++ configuration is used in building MAPSERVER.LIB, MAPSERV.EXE,
# and the other MapServer command-line programs.
#
# To use the makefile:
# - Open a DOS prompt window
# - Run the VCVARS32.BAT script to initialize the VC++ environment variables
# - Start the build with: nmake /f makefile.vc
#
# $Id: nmake.opt,v 1.24 2005/12/08 19:14:48 hobu Exp $
#
# Contents:
# Section I: Mapserver Options (you may want to edit)
# Section II: Support Libraries (you must edit)
# Section III: Debug Flags (no need to edit)
# Section IV: Variable Setup (should not need to edit)
# Section V: UMN GIS System Setup (should not need to edit)
# Section VI: Collect compiler flags
#
########################################################################
# Section I: Mapserver Options
########################################################################
# Uncomment the following to link mapserv.exe withh dll
DLLBUILD=1
# Set the following to point to the current directory.
MS_BASE = C:\projects\mapserver
# Optmization and related compile flags.
# Optimized, with using MSVCRT.
OPTFLAGS = /nologo /MD $(WARNING_LEVEL) $(DEBUG)
#LDFLAGS = /NODEFAULTLIB:msvcrt /NODEFAULTLIB:libcd /DEBUG
# Debug with MSVCRT
#OPTFLAGS = /nologo /Zi /MD $(WARNING_LEVEL) $(DEBUG)
# Optimized, with LIBC.
#OPTFLAGS = /nologo $(WARNING_LEVEL) $(DEBUG)
# Input raster format options:
#
# The lite version of mapserver 4.x supports only GIF, PNG and JPEG data for
# input. If you wish to support many geospatial raster formats for input
# you will need the GDAL support library from http://www.gdal.org/.
# Once built, enable the GDAL flag, and point GDAL_DIR to the directory
# where GDAL was built.
#GDAL=-DUSE_GDAL
#GDAL_DIR=c:\projects\gdal
#
# Input vector format options
#
# The lite version of Mapserver 4.x only suports ESRI shapefiles for input.
#
# The OGR library (part of GDAL) supports a variety of geospatial vector
# formats including mapinfo, Arc/Info binary coverages, S-57, SDTS,
# Microstation DGN (pre-v7), TIGER, UK .NTF. It also include support for
# treating non-spatial tablular data from ODBC, CSV, mysql, Oracle Spatial,
# and PostgreSQL as spatial table with use of the VRT (virtual) driver.
#
# NOTE: Both -DUSE_OGR and -DUSE_GDAL need to be defined if you want to
# use GDAL/OGR for both raster and vector support, but GDAL_DIR needs only
# be defined once.
#
#OGR=-DUSE_OGR
#GDAL_DIR=c:\projects\gdal
# JPEG Input:
# JPEG input for raster layers is also available through GDAL, If you wish
# to build support for JPEG without GDAL, uncomment the following flag
# and provide the full path to the jpeg support library project directory.
# See http://www.ijg.org/ for support library.
JPEG=-DUSE_JPEG
JPEG_DIR=c:/projects/libjpeg
# Output format options:
# If you wish to allow JPEG output maps, uncomment the following flag.
# If not using a GD build with an internal of libjpeg, you will
# also need to uncomment JPEG_DIR and point to it; however, with BGD.DLL
# that is not necessary.
OUTPUT_JPEG=-DUSE_GD_JPEG
JPEG_DIR=c:/projects/libjpeg
# If you wish to allow PNG output maps, uncomment the following flag.
# If not using a GD build with an internal of libpng, you will
# also need to uncomment PNG_DIR and ZLIB_DIR and point to it; however, with
# BGD.DLL that is not necessary.
# See http://www.libpng.org/pub/png/libpng.html for support library.
# See http://www.gzip.org/zlib/ for support library.
OUTPUT_PNG=-DUSE_GD_PNG
PNG_DIR=c:/projects/libpng
ZLIB_DIR=c:/projects/zlib
#flag to indicate the use of zlib library. It is used intially in SVG
#output to compressed files.
ZLIB=-DUSE_ZLIB
# If you wish to allow Windows BMP output maps, uncomment the following flag.
OUTPUT_WBMP=-DUSE_GD_WBMP
# If you wish to have FLASH output, uncomment the following flag and provide
# the full path to the MING support library project directory.
# See http://ming.sourceforge.net/ for support library.
#MING=-DUSE_MING_FLASH
#MING_DIR=c:/projects/ming-0.3beta1

# If you wish to have PDF output, uncomment the following flag and provide the
# full path to the PDF support library project directory.
# See http://www.pdflib.com/ for support library.
PDF=-DUSE_PDF
PDF_DIR=c:/projects/PDFlibLite

# Annotation fonts.
#
# If you wish to annotate your maps with true type fonts unccomment the
# following flag. Provide the full path to the FreeType 2.x external
# support library, unless it is provided within your GD build as is the
# case with BGD.DLL.
# See http://www.freetype.org for support library.
ANNOTATION_FT=-DUSE_GD_FT
FT_DIR=c:/projects/freetype

# Direct connectivity to Postgresql PostGIS.
#
# To turn on direct connectivity to Postgresql PostGIS uncomment the following
# flag and set the full path name to the project directory for the
# Postgresql native Win32 client library.
# See http://www.postgresql.org for support library.
#POSTGIS =-DUSE_POSTGIS
#POSTGIS_DIR =c:/projects/libpq
#Orcale
ORACLE_DIR = c:\Oracle\Ora81
ORACLE=-DUSE_ORACLESPATIAL
# Direct connectivity to ArcSDE.
#
# To turn on direct connectivity to ArcSDE uncomment the following
# flag and set the full path name to the project directory for ArcSDE.
# Since ESRI includes the version number in the name of their libraries
# you may need to change that number in Section III of this configuration
# file.
# See http://www.esri.com/software/arcgis/arcinfo/arcsde/index.html for
# support library
#
#
#SDE_OPT=-DUSE_SDE -DWIN32
#SDE_DIR=c:/my_path_to/arcsde
# EPPL7 Support
#
# This activates ERDAS as well. It is included in the distribution.
# Probably the best raster alternative if
# you've got EPPL7 laying around. See http://www.lmic.state.mn.us/ for
# more information.
# Uncomment out the following flag and set the full path name to the
# epplib.obj file.
#EPPL=-DUSE_EPPL
#EPPL_OBJ=c:/my_path/epplib.obj
# If you want to ignore missing datafile errors uncomment the following
# line. This is especially useful with large tiled datasets that may not
# have complete data for each tile.
IGNORE_MISSING_DATA=-DIGNORE_MISSING_DATA
# If you want to use shape Z and M parameter this option must be set.
# It's OFF by default.
#USE_POINT_Z_M=-DUSE_POINT_Z_M
USE_POINT_Z_M=
#NEED_NONBLOCKING_STDERR=-DNEED_NONBLOCKING_STDERR
ENABLE_STDERR_DEBUG=-DENABLE_STDERR_DEBUG
# If you want antialiasing (note that It requires gd2)
USE_GD_ANTIALIAS=-DUSE_GD_ANTIALIAS
# Enable if you want thread safe locking, not needed for simple CGI.
#THREADS=-DUSE_THREAD
# Use this flag to compile with WMS Server support.
# To find out more about the OpenGIS Web Map Server Specification go to
# http://www.opengis.org/
WMS=-DUSE_WMS_SVR
# Use this flag to compile with WMS Client support. WMS Client support
# allows you to pull layers from other OGIS WMS servers on the interent and
# incorporate them into your map.
# To find out more about the OpenGIS Web Map Server Specification go to
# http://www.opengis.org/
# you need the libcurl library from http://curl.haxx.se/library/c/
# Set the full path to the curl project directory.
# You may also need to the full path to the windows socket library.
#WMSCLIENT= -DUSE_WMS_LYR
CURL_DIR=c:/projects/curl
#CURL_DIR=c:/projects/curl-7.10.7
WINSOCK_LIB = "WSOCK32.LIB"
WINSOCK_LIB = "C:\Program Files\Microsoft Visual Studio\VC98\Lib\WSOCK32.LIB"
# Use -DUSE_WFS_SVR to compile with WFS server support, requires OGR and PROJ4
#WFS=-DUSE_WFS_SVR
# Use -DUSE_WFS_LYR to compile with WFS client support, requires libcurl
#WFSCLIENT= -DUSE_WFS_LYR
# Use -DUSE_WCS_SVR to compile with WCS server support, requires GDAL.
#WCS=-DUSE_WCS_SVR
#libiconv support is used for to support double bytes (see bug 911).
#uncomment the following to build with libiconv support.
#ICONV=-DUSE_ICONV
#
# Reprojecting.
# If you would like mapserver to be able to reproject data from one
# geographic projection to another, uncomment the following flag
# Proj.4 distribution (cartographic projection routines). PROJ.4 is
# also required for all OGC services (WMS, WFS, and WCS).
#
# For PROJ_DIR use full path to Proj.4 distribution
PROJ=-DUSE_PROJ -DUSE_PROJ_API_H
PROJ_DIR=c:\projects\proj
# php Mapscript.
# If you plan to build PHP mapscript uncomment the following flag and
# set the full path to the PHP project directory
#PHP=1
#PHP_DIR=c:\projects\php-4.3.4
# Apparently these aren't as commonplace. Edit the
# following line to reflect the missing functions on your platform.
#
#STRINGS=-DNEED_STRCASECMP -DNEED_STRNCASECMP -DNEED_STRDUP
STRINGS=-DNEED_STRCASECMP -DNEED_STRNCASECMP -DNEED_STRLCAT

########################################################################
# Section II: External Support Libraries
########################################################################
# You will need to set the paths to various support library projects
# that you have compiled.

D. 什麼是編譯環境他的作用是什麼編譯環境跟運行平台有什麼不同

編譯環境是將「一種語言(通常為高級語言)」翻譯為「另一種語言(通常為低級語言)」的程序。作用是通過代入預定義等程序段將源程序補充完整。

編譯環境跟運行平台區別為:工具不同、調試不同、硬體支持不同。

一、工具不同

1、編譯環境:編譯環境包含開發、調試和部署等工具。

2、運行平台:運行平台只包含運行指令和class實現的工具。

二、調試不同

1、編譯環境:編譯環境有調試代碼的功能,調試後可重新編譯執行。

2、運行平台:運行平台沒有調試代碼的功能。

三、硬體支持不同

1、編譯環境:編譯環境使用的是模擬設備,不需要硬體支持。

2、運行平台:運行平台需要硬體支持,在實際設備中運行。

E. 在DOS環境下,編譯java程序需要使用 命令,運行程序需要使用 命令。

第一:首先安裝JDK。
第二:為了能使Java程序在dos下很方便的編譯和運行Java程序,就要配置其運
行的環境變數,具體步驟如下:
(1)在安裝的目錄下找到你所安裝的JDK文件,在裡面找到java.exe文件,復制其路徑。
(2)滑鼠右擊我的電腦,打開屬性面板單擊高級菜單、選擇「環境變數」。
(3) 在彈出的面板中找到「系統環境變數」,在其窗口選中變數名為Path的變數。
Path是路徑設置命令,其功能是:設備可執行文件的搜索路徑,只對文件有效。當運行一個可執行文件時,DOS會先在當前目錄中搜索該文件,若找到則運行之;若找不到該文件,則根據Path命令所設置的路徑,順序逐條地到目錄中搜索該文件;Path命令中的路徑,若有兩條以上,各路徑之間以一個分號「;」開。
(4)單擊「編輯」,在彈出的窗口中的變數值的最後面粘貼上你剛才找到的路徑,中間用分號隔開,單擊確定。這樣你就可以在DOS下很輕松的編譯和運行Java程序.
如果Path路徑中前面的路徑有別的JDK版本,則在DOS下運行的是路徑比較前面的版本。
第三:編譯Java程序生成「.class」文件,在DOS下,應用DOS命令找到你所編Java程序文件(假設文件名為HelloWorld.java)的根目錄下輸入命令:javac
HelloWorld.java。如果生成。「.class」文件則編譯成功。
第四:執行Java程序:接著上步操作輸入:java HelloWorld;在命令提示符上會出現運行結果。

F. 如何在windows的命令行環境下編譯C++程序

第一步:安裝編譯環境
下載並安裝Visual Studio,本人安裝的Visual Studio 2012
第二步:設置環境變數
1)右鍵「計算機(我的電腦)」,選擇「屬性->高級系統設置->環境變數」,找到「系統變數」中的「PATH"屬性,雙擊之
2)復制Visual Studio安裝目錄下的路徑「D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin」到環境變數中(PATH中已經有其它變數,則粘貼到最後面,並且用英文「;」與前面的變數隔開)
第三步:修改命令行啟動參數

1)在「開始->運行」中輸入「cmd」,開始菜單中將列出"cmd.exe",右鍵它,然後「發送到->發送到桌面快捷方式」
2)右鍵步驟1)中創建的桌面快捷方式,選擇「屬性->快捷方式」,找到「目標(T)」欄,修改目標為「C:\Windows\System32\cmd.exe /k vcvars32.bat」,修改好後點確定
第四步:編寫test.cpp程序
1)在D盤新建一個文件夾,命名為testCode
2)打開testCode,在裡面新建一個文本文檔,命名為test.cpp(注意,如果你的系統設置中隱藏了已知文件類型的擴展名,必須顯示它,否則你創建的test.cpp的真實名字將是test.cpp.txt)
3)用記事本或EditPlus打開test.cpp,在其中寫入代碼,例如:
#include <iostream>

int main()
{
std::cout<<"Hello World!"<<std::endl;
while(1)
{
//ignore
}
}
第五步:編譯test.cpp
1)雙擊第三步中創建的cmd.exe的桌面快捷方式,打開命令行窗口
2)輸入:cd d: 回車
3)輸入:cd Ccodes 回車
4)輸入:cl -EHsc test.cpp 回車
編譯器開始編譯test.cpp。我們可以從命令行的輸出內容中看到編譯結果。如果程序沒有書寫錯誤,一定可以編譯出一個test.exe和一個test.obj。其中exe文件即是編譯後的可執行程序。obj文件是按塊編譯產生的中間文件。至此,整個命令行編譯流程結束。

G. 如何在linux環境下編輯一個c語言源程序並將其編譯為可執行文件

打開安裝好的Linux系統(ubuntu18.04)

1.安裝編輯器

使用語句:sudo apt-get install vim安裝vim,可以在安裝前查看是否安裝vim編輯器。(特別提示:在安裝vim前最好將軟體更新,使用指令sudo apt-get update.)之所以要加sudo的原因是這些安裝和更新軟體的時候需要使用管理員許可權才可以進行。

2.安裝gcc編譯器

和安裝vim類似使用sudo apt-get install gcc,安裝完成後可以使用cc-v來查看編譯器版本信息等。cc -v界面如下:

閱讀全文

與環境下的編譯相關的資料

熱點內容
明日之後安卓太卡怎麼辦 瀏覽:500
如何使用命令方塊找到村莊 瀏覽:766
泛函壓縮映像原理 瀏覽:519
win10清除文件夾瀏覽記錄 瀏覽:964
如何查看伺服器域中所有服務 瀏覽:384
學mastercam91編程要多久 瀏覽:999
如何查伺服器地址和埠 瀏覽:909
教學雲平台app怎麼下載 瀏覽:387
單片機510教學視頻 瀏覽:624
陝西信合app怎麼查看自己的存款 瀏覽:663
風冷冰箱有壓縮機 瀏覽:274
android實現wifi連接wifi 瀏覽:667
飛豬app怎麼幫別人值機 瀏覽:924
筆記本開我的世界伺服器地址 瀏覽:546
怎樣隱藏bat命令 瀏覽:125
android開發創意 瀏覽:136
京劇貓為什麼進不去伺服器 瀏覽:784
怎麼自己免費製作一個手機app 瀏覽:582
python同時迭代兩個變數 瀏覽:740
好分數app家長版怎麼刪除孩子 瀏覽:426