{
	"id": "da01f0be-c9e8-4df9-979e-5eafbff84e82",
	"created_at": "2026-04-06T00:12:47.386074Z",
	"updated_at": "2026-04-10T13:12:50.599824Z",
	"deleted_at": null,
	"sha1_hash": "30629943bfe5e85217cb3c9dc0287fdf77864861",
	"title": "JamPlus manual: Quick Start Guide",
	"llm_title": "",
	"authors": "",
	"file_creation_date": "0001-01-01T00:00:00Z",
	"file_modification_date": "0001-01-01T00:00:00Z",
	"file_size": 58045,
	"plain_text": "JamPlus manual: Quick Start Guide\r\nArchived: 2026-04-05 17:35:12 UTC\r\nOverview\r\nJamPlus works out of the box with C/C++ compilation for Visual C++ compilers, GCC, MinGW, and others. It\r\ncan also generate workspaces for Visual Studio 20xx, Visual C++ 6, Xcode, and CodeBlocks.\r\nWhen the Jam executable is run, it reads a file called Jamfile.jam in the current working directory. The Jamfile\r\ncontains a description of how to build the current project. In the tutorials below, we'll talk about how to properly\r\nset up a Jamfile build description.\r\nTutorial 0: Use Jam to Build Simple Applications\r\nBuilding helloworld\r\nFor this tutorial, we are going to make a basic helloworld application.\r\nFirst, we need to create a helloworld.c file. It will do nothing more than print Hello, world! to the user.\r\n#include \u003cstdio.h\u003e\r\nint main()\r\n{\r\nprintf(\"Hello, world!\\n\");\r\nreturn 0;\r\n}\r\nStraight out of the box, you can run jam within the directory of helloworld.c , and Jam will build a\r\nhelloworld executable using all of the *.c , *.cpp , *.m , and *.mm files in the directory.\r\n# helloworld.exe (or the equivalent) is generated. It might not be named helloworld.exe, because\r\n# the first source file title in the directory is used as the executable name.\r\njam\r\n# Remove the executable and all intermediate files.\r\nhttps://jamplus.github.io/jamplus/quick_start.html\r\nPage 1 of 4\n\njam clean\r\n# helloworld.exe (or the equivalent) is generated. It might not be named helloworld.exe, because\r\n# the first source file title in the directory is used as the executable name. To override this,\r\n# add helloworld to the command-line:\r\njam helloworld\r\n# Remove the helloworld executable and all intermediate files.\r\njam clean:helloworld\r\nWhile this is a convenient Jam feature, generally a more complex build is needed. We'll make one of those in\r\nTutorial 1: Hello World!.\r\nTutorial 1: Hello World!\r\nInitial Setup\r\nFor this tutorial, we are going to make a basic helloworld application.\r\nFirst, we need to create a helloworld.c file. It will do nothing more than print Hello, world! to the user.\r\n#include \u003cstdio.h\u003e\r\nint main()\r\n{\r\nprintf(\"Hello, world!\\n\");\r\nreturn 0;\r\n}\r\nIn the same directory as helloworld.c , we also need to create Jamfile.jam with the description of how to\r\nbuild the basic helloworld application.\r\n# This file is Jamfile.jam.\r\n#\r\n# Please note that Jam tokens are whitespace separated. Even the semicolon\r\nhttps://jamplus.github.io/jamplus/quick_start.html\r\nPage 2 of 4\n\n# delineating the end of statements has whitespace before it.\r\nC.Application helloworld : helloworld.c ;\r\nCompiling the Tutorial\r\nCompiling the helloworld application is simple. Assuming the Jam executable is in your PATH , run the following\r\nfrom the directory containing your Jamfile.jam and main.c :\r\nThat's it. Jam will detect your OS and then the appropriate compilers for your platform. On Windows, Jam looks\r\nfor Visual Studio 2015, then 2013, 2012, 2010, 2008, and so on until Visual C++ 6. If it can't find any of those, it\r\nlooks for a MinGW installation in the c:/Program Files/mingw-x64/ and c:/mingw/ directories. On Mac OS\r\nX, Jam looks for clang or gcc. When a compiler is found, the helloworld application's Release configuration is\r\nbuilt. The resultant filename will be .build/win64-release/TOP/helloworld/helloworld.exe on Windows and in\r\na similar location but with an executable name of helloworld on other platforms.\r\nBuilding the helloworld application Debug configuration is performed with a command line flag. In this case, the\r\nbuilt executable will be .build/win64-debug/TOP/helloworld/helloworld.exe on Windows and in a similar\r\nlocation but with an executable name removing the .exe on other platforms.\r\nor, preferred:\r\nIf you would like to run with another compiler by default, such as MinGW, an additional command line flag must\r\nbe provided.\r\nCleaning Up the Tutorial Files\r\nCompiler intermediates and outputs are, by default, stored within a .build/ directory. These files can be cleaned\r\nup using the clean target.\r\nrem Cleans the default platform's Release build.\r\njam clean\r\nrem Cleans the default platform's Release build, too.\r\njam CONFIG=release clean\r\nrem Cleans the Debug build.\r\njam CONFIG=debug clean\r\nrem Cleans the Debug build.\r\njam C.TOOLCHAIN=-/debug clean\r\nhttps://jamplus.github.io/jamplus/quick_start.html\r\nPage 3 of 4\n\nBuilding an IDE Workspace\r\nOne of the exciting features of JamPlus is its ability to build IDE workspaces for Visual Studio or Xcode or others.\r\nIt does so with a set of scripts that are present in the JamPlus bin/ directory. These scripts create an out-of-source build tree optimized for best performance within JamPlus. By being out-of-source, the source tree remains\r\npristine, and all compiler intermediates are stored in a separate location.\r\nFor the helloworld application, let's build a Visual Studio 2015 solution on Windows or an Xcode workspace on\r\nmacOS.\r\nIt may be preferable to output to a different directory than .build/ .\r\njam --workspace --gen=vs2015 Jamfile.jam build\r\nAfter running jam –workspace , the new out-of-source work area will have been created. Inside the generated\r\nbuild/_workspaces_/IDE/ directory, you'll find a helloworld.sln . Open this file in Visual Studio to proceed.\r\nWhen Visual Studio has loaded the helloworld.sln , you'll find it contains the helloworld project within the\r\nSolution Explorer. If the helloworld project is not already the active project, right click on it and choose Set as\r\nStartUp Project.\r\nOn Mac OS X, you'll find the appropriate .xcodeproj as build/_workspaces_/xcode/helloworld.xcworkspace .\r\nOpen this project file in Xcode, and choose the appropriate scheme (such as helloworld-release ).\r\nAt this point, build as you normally would. Change between the Debug and Release configurations if you'd like.\r\nIn fact, you can even debug as if the project were manually created!\r\nSource: https://jamplus.github.io/jamplus/quick_start.html\r\nhttps://jamplus.github.io/jamplus/quick_start.html\r\nPage 4 of 4",
	"extraction_quality": 1,
	"language": "EN",
	"sources": [
		"MITRE"
	],
	"origins": [
		"web"
	],
	"references": [
		"https://jamplus.github.io/jamplus/quick_start.html"
	],
	"report_names": [
		"quick_start.html"
	],
	"threat_actors": [],
	"ts_created_at": 1775434367,
	"ts_updated_at": 1775826770,
	"ts_creation_date": 0,
	"ts_modification_date": 0,
	"files": {
		"pdf": "https://archive.orkl.eu/30629943bfe5e85217cb3c9dc0287fdf77864861.pdf",
		"text": "https://archive.orkl.eu/30629943bfe5e85217cb3c9dc0287fdf77864861.txt",
		"img": "https://archive.orkl.eu/30629943bfe5e85217cb3c9dc0287fdf77864861.jpg"
	}
}