Faits :
A.
Par jugement du 31 mai 2018, le Tribunal correctionnel de l'arrondissement de Lausanne a condamné X._, pour vol, dommages à la propriété et violation de domicile, à une peine privative de liberté de 17 mois, peine partiellement complémentaire à celle prononcée le 15 février 2017 par le Ministère public de l'arrondissement de Lausanne. Il a en outre ordonné son expulsion du territoire suisse pour une durée de cinq ans et a mis les frais judiciaires, par 12'306 fr. 30, à sa charge.
B.
Par jugement du 12 septembre 2018, la Cour d'appel pénale du Tribunal cantonal du canton de Vaud, statuant sur l'appel de X._ et sur l'appel joint du ministère public, a réformé ce jugement en ce sens que les frais judiciaires de première instance, par 12'306 fr. 30, sont mis pour moitié à la charge du prénommé, le solde étant laissé à la charge de l'Etat. Elle a confirmé le jugement pour le surplus.
La cour cantonale a retenu les faits suivants.
B.a. X._ est né en 1977 en Géorgie, pays dont il est ressortissant. Il y a suivi sa scolarité puis des études universitaires en économie. Il y a ensuite travaillé durant quelques années. En 2006, il a tenté d'obtenir l'asile en Suisse, sous une fausse identité, sa demande ayant été rejetée en 2008. X._ est revenu en Suisse en 2013 et a présenté une nouvelle demande d'asile. Il vit depuis lors dans ce pays, en bénéficiant d'un permis F. Selon ses déclarations, il aurait quitté son pays en raison de problèmes politiques. Originaire de la province de A._, il serait victime de discriminations. Avant sa mise en détention, l'intéressé était logé dans un centre de l'Etablissement vaudois d'accueil des migrants et percevait 300 fr. par mois. Il n'est pas marié et n'a aucune famille en Suisse.
Le casier judiciaire suisse de X._ fait état d'une condamnation, en 2015, pour violation de domicile, d'une condamnation, en 2016, pour vol d'importance mineure et violation de domicile, ainsi que d'une condamnation, en 2017, pour tentative de vol et vol.
B.b. Avant son incarcération, X._ était suivi au sein de la polyclinique d'addictologie à B._, pour diverses maladies chroniques. Dans un rapport médical établi le 16 octobre 2017 à l'attention de l'Office fédéral des migrations, trois médecins ont posé les diagnostics de probable état de stress post-traumatique avec symptômes de la lignée dépressive anxieuse associés à une personnalité impulsive et des passages à l'acte auto-agressifs fréquents en situation de crise, de syndrome de dépendance aux substances illicites sous traitement substitutif, de syndrome de dépendance à l'alcool, d'hépatite C chronique active et de statuts post-tuberculose bacillaire traitée, avec suivi rapproché pour exclure une potentielle récidive. X._ avait bénéficié d'un traitement sous la forme d'une thérapie médicamenteuse et d'un suivi psychiatrique. Selon les médecins, l'état général du prénommé était très inquiétant et nécessitait des investigations complémentaires ainsi qu'une prise en charge pluridisciplinaire. Concernant l'hépatite C, ceux-ci ont estimé que, dans le contexte d'une réinfection en 2016, un avis spécialisé était nécessaire pour évaluer la possibilité d'un second traitement. Un suivi régulier par prise de sang, fibroscan et ultrason abdominal était également nécessaire au minimum deux fois par an pour prévenir une complication oncologique. La problématique pulmonaire était jugée "moins vitale" même si X._ restait très fragile. Le suivi pneumologique paraissait néanmoins indispensable pour pouvoir juger de la stabilité respiratoire et prévenir une éventuelle rechute de la tuberculose. Sur le plan psychiatrique, les médecins ont relevé que le soutien apporté à l'intéressé l'aidait à éviter des passages à l'acte qui pourraient mettre en danger son pronostic vital de façon très rapide compte tenu des méthodes dont il avait déjà fait usage par le passé.
Actuellement, X._ ne suit plus aucun traitement médical.
B.c. A B._, en décembre 2014, X._ a pénétré par effraction dans un appartement et y a dérobé divers objets pour un montant total de 1'300 francs.
En avril 2016, à C._, dans un magasin, il a dérobé un téléphone portable d'une valeur de 1'000 francs.
En juin 2017, à D._, X._ a dérobé divers effets qui se trouvaient dans un fourgon.
En juillet 2017, à B._, il a pénétré par effraction dans un appartement et y a dérobé divers effets, dont le propriétaire a par la suite obtenu un montant de 7'447 fr. 25 de la part de son assureur.
En juillet 2017, à E._, X._ a pénétré par effraction dans un appartement et y a dérobé divers effets.
C.
X._ forme un recours en matière pénale au Tribunal fédéral contre le jugement du 12 septembre 2018, en concluant, avec suite de frais et dépens, principalement à sa réforme en ce sens que son expulsion du territoire suisse n'est pas ordonnée et que les frais judiciaires de première et deuxième instances sont intégralement laissés à la charge de l'Etat. Subsidiairement, il conclut à son annulation et au renvoi de la cause à l'autorité cantonale pour nouvelle décision. Il sollicite par ailleurs le bénéfice de l'assistance judiciaire.
Considérant en droit :
1.
Le recourant reproche à la cour cantonale d'avoir établi les faits de manière arbitraire.
1.1. Le Tribunal fédéral n'est pas une autorité d'appel, auprès de laquelle les faits pourraient être rediscutés librement. Il est lié par les constatations de fait de la décision entreprise (art. 105 al. 1 LTF), à moins qu'elles n'aient été établies en violation du droit ou de manière manifestement inexacte au sens des art. 97 al. 1 et 105 al. 2 LTF, soit pour l'essentiel de façon arbitraire au sens de l'art. 9 Cst. Une décision n'est pas arbitraire du seul fait qu'elle apparaît discutable ou même critiquable; il faut qu'elle soit manifestement insoutenable et cela non seulement dans sa motivation mais aussi dans son résultat (ATF 143 IV 241 consid. 2.3.1 p. 244). En matière d'appréciation des preuves et d'établissement des faits, il n'y a arbitraire que lorsque l'autorité ne prend pas en compte, sans aucune raison sérieuse, un élément de preuve propre à modifier la décision, lorsqu'elle se trompe manifestement sur son sens et sa portée, ou encore lorsque, en se fondant sur les éléments recueillis, elle tire des conclusions insoutenables (ATF 143 IV 500 consid. 1.1 p. 503; 140 III 264 consid. 2.3 p. 266 et les références citées). Le Tribunal fédéral n'entre pas en matière sur les critiques de nature appellatoire (ATF 142 III 364 consid. 2.4 p. 368 et les références citées).
1.2. Le recourant prétend tout d'abord que la cour cantonale aurait versé dans l'arbitraire en retenant uniquement que, selon la fiche de conseils aux voyageurs à destination de la Géorgie établie par le Département fédéral des affaires étrangères, les soins médicaux de base et d'urgence étaient assurés dans les centres urbains de ce pays. Selon lui, l'autorité précédente aurait arbitrairement omis de retenir, sur la base de ce document, que les soins médicaux de base et d'urgence n'étaient assurés que dans les centres urbains, tandis que dans les régions reculées une assistance médicale rapide et efficace n'était pas garantie en cas de maladie ou d'accident, et que les hôpitaux exigeaient une garantie financière avant de traiter les patients. Le recourant reproche en outre à la cour cantonale d'avoir retenu que le traitement de la tuberculose était "notoirement assuré partout", donc également en Géorgie.
Aucun de ces éléments n'apparaît en l'occurrence susceptible d'influer sur le sort de la cause (cf. art. 97 al. 1 LTF; cf. consid. 2.3.3 infra).
2.
Le recourant considère que la cour cantonale aurait dû renoncer à ordonner son expulsion du territoire suisse. Il se plaint à cet égard d'une violation des art. 66a al. 2 CP, 2, 3 et 8 CEDH.
2.1. Aux termes de l'art. 66a al. 1 let. d CP, le juge expulse de Suisse l'étranger qui est condamné pour vol (art. 139 CP) en lien avec une violation de domicile (art. 186 CP), quelle que soit la quotité de la peine prononcée à son encontre, pour une durée de cinq à quinze ans. Selon l'art. 66a al. 2 CP, le juge peut exceptionnellement renoncer à une expulsion lorsque celle-ci mettrait l'étranger dans une situation personnelle grave et que les intérêts publics à l'expulsion ne l'emportent pas sur l'intérêt privé de l'étranger à demeurer en Suisse. A cet égard, il tiendra compte de la situation particulière de l'étranger qui est né ou qui a grandi en Suisse.
En l'espèce, le recourant a commis des infractions (vol et violation de domicile) qui tombent sous le coup de l'art. 66a al. 1 let. d CP. Il remplit donc a priori les conditions d'une expulsion, sous la réserve d'une application de l'art. 66a al. 2 CP, voire également des normes de droit international.
2.2. L'art. 66a al. 2 CP est formulé comme une norme potestative ("Kannvorschrift"), en ce sens que le juge n'a pas l'obligation de renoncer à l'expulsion, mais peut le faire si les conditions fixées par cette disposition sont remplies. Ces conditions sont cumulatives. Afin de pouvoir renoncer à une expulsion prévue par l'art. 66a al. 1 CP, il faut donc, d'une part, que cette mesure mette l'étranger dans une situation personnelle grave et, d'autre part, que les intérêts publics à l'expulsion ne l'emportent pas sur l'intérêt privé de l'étranger à demeurer en Suisse (arrêts 6B_209/2018 du 23 novembre 2018 consid. 3.3 destiné à la publication; 6B_1079/2018 du 14 décembre 2018 consid. 1.2; 6B_965/2018 du 15 novembre 2018 consid. 4.2). Le fait que la clause de rigueur soit une norme potestative ne signifie pas que le juge pénal pourrait librement décider d'appliquer ou non l'exception de l'art. 66a al. 2 CP. Le juge doit faire usage du pouvoir d'appréciation qui lui est conféré par une norme potestative dans le respect des principes constitutionnels. S'il devait refuser de renoncer à l'expulsion alors que les conditions de la clause de rigueur sont remplies, le principe de proportionnalité ancré à l'art. 5 al. 2 Cst. serait violé. Le juge doit ainsi renoncer à l'expulsion lorsque les conditions de l'art. 66a al. 2 CP sont réunies, conformément au principe de proportionnalité (arrêts 6B_209/2018 précité consid. 3.3 destiné à la publication; 6B_1079/2018 précité consid. 1.2; 6B_965/2018 précité consid. 4.2).
2.3.
2.3.1. La loi ne définit pas ce qu'il faut entendre par une "situation personnelle grave" (première condition cumulative) ni n'indique les critères à prendre en compte dans la pesée des intérêts (seconde condition cumulative).
En recourant à la notion de cas de rigueur dans le cadre de l'art. 66a al. 2 CP, le législateur a fait usage d'un concept ancré depuis longtemps dans le droit des étrangers (cf. art. 30 al. 1 let. b ou 50 al. 1 let. b de la loi fédérale sur les étrangers [LEtr; RS 142.20], ainsi que l'art. 14 de la loi sur l'asile [LAsi; RS 142.31]). Compte tenu également du lien étroit entre l'expulsion pénale et les mesures du droit des étrangers, il est justifié de s'inspirer, de manière générale, des critères prévus par l'art. 31 al. 1 de l'ordonnance relative à l'admission, au séjour et à l'exercice d'une activité lucrative (OASA; RS 142.201) et de la jurisprudence y relative, dans le cadre de l'application de l'art. 66a al. 2 CP. L'art. 31 al. 1 OASA prévoit qu'une autorisation de séjour peut être octroyée dans les cas individuels d'extrême gravité. Elle commande de tenir compte notamment de l'intégration du requérant, du respect de l'ordre juridique suisse par le requérant, de la situation familiale, particulièrement de la période de scolarisation et de la durée de la scolarité des enfants, de la situation financière ainsi que de la volonté de prendre part à la vie économique et d'acquérir une formation, de la durée de la présence en Suisse, de l'état de santé ainsi que des possibilités de réintégration dans l'Etat de provenance. Comme la liste de l'art. 31 al. 1 OASA n'est pas exhaustive et que l'expulsion relève du droit pénal, le juge devra également, dans l'examen du cas de rigueur, tenir compte des perspectives de réinsertion sociale du condamné (cf. arrêts 6B_209/2018 précité consid. 3.3.2 destiné à la publication; 6B_724/2018 du 30 octobre 2018 consid. 2.3.2; 6B_371/2018 du 21 août 2018 consid. 2.4 et 2.5 et les références citées). En règle générale, il convient d'admettre l'existence d'un cas de rigueur au sens de l'art. 66a al. 2 CP lorsque l'expulsion constituerait, pour l'intéressé, une ingérence d'une certaine importance dans son droit au respect de sa vie privée et familiale garanti par la Constitution fédérale (art. 13 Cst.) et par le droit international, en particulier l'art. 8 CEDH (arrêts 6B_1079/2018 précité consid. 1.3; 6B_ 965/2018 précité consid. 4.3; 6B_371/2018 précité consid. 2.5).
2.3.2. La cour cantonale a exposé que le recourant ne se trouvait en Suisse que depuis 2013. Il y bénéficiait d'un statut précaire. Hormis quelques contacts avec des membres de l'église orthodoxe de F._, il ne pouvait se prévaloir d'aucun enracinement social ou familial en Suisse. Il n'y travaillait pas et vivait grâce à l'aide des services sociaux. L'intéressé n'était pas intégré en Suisse, où il n'avait fait que commettre des délits. Il était en revanche né et avait grandi en Géorgie, où il avait pu accomplir des études supérieures et obtenir un diplôme, avant d'y travailler. Sa mère et sa tante - avec lesquelles il avait des liens étroits puisqu'il avait indiqué leur envoyer régulièrement de l'argent - y vivaient encore. Les différents troubles dont souffrait le recourant pourraient continuer à être pris en charge de manière satisfaisante en Géorgie, puisque le traitement de la tuberculose était notoirement assuré partout. Entre son départ de Suisse après le refus de sa première demande d'asile en 2008 et son retour dans le pays en 2013, soit durant cinq ans, le recourant n'avait d'ailleurs pas vu son état de santé se dégrader. Depuis son incarcération, il n'avait bénéficié d'aucun traitement particulier. Enfin, selon la cour cantonale, la perspective d'un emprisonnement en Géorgie, alléguée par le recourant, n'était pas avérée. Rien ne permettait donc de considérer qu'une expulsion du territoire suisse placerait le recourant dans une situation personnelle grave.
2.3.3. L'appréciation opérée par la cour cantonale - laquelle tient compte des critères pertinents en la matière (cf. consid. 2.3.1 supra) - ne prête pas le flanc à la critique. L'expulsion du recourant du territoire suisse ne placerait pas celui-ci dans une situation personnelle grave.
Le recourant ne peut, à cet égard, rien tirer de l'arrêt de la Cour européenne des droits de l'Homme Paposhvili c. Belgique du 13 décembre 2016 (requête no 41738/10) auquel il se réfère. Dans cette décision, la cour a rappelé que l'étranger qui se trouve sous le coup d'un arrêté d'expulsion ne peut en principe revendiquer un droit à rester sur le territoire d'un Etat afin de continuer à bénéficier de l'assistance et des services médicaux, sociaux ou autres fournis par l'Etat de renvoi. Une expulsion peut cependant violer l'art. 3 CEDH notamment s'il existe des motifs sérieux de croire que l'intéressé, bien que ne courant pas de risque imminent de mourir, ferait face, en raison de l'absence de traitements adéquats dans le pays de destination ou du défaut d'accès à ceux-ci, à un risque réel d'être exposé à un déclin grave, rapide et irréversible de son état de santé entraînant des souffrances intenses, ou à une réduction significative de son espérance de vie (cf. § 183). En l'occurrence, l'existence d'un tel risque pour le recourant n'a pas été retenu par la cour cantonale. On cherche en vain, dans le rapport médical du 16 octobre 2017 auquel se réfère le recourant, quel soin médical nécessaire à l'intéressé ne serait pas disponible dans son pays d'origine, étant relevé que celui-ci ne suit actuellement plus de traitement.
Le recourant admet qu'il existe, en Géorgie, un système de couverture maladie universelle destinée aux personnes dépourvues d'assurance maladie. Il soutient que celle-ci ne prendrait cependant en charge qu'une partie du coût des médicaments et qu'il lui serait impossible, compte tenu de sa situation financière précaire, de financer ceux-ci. Le fait que le recourant bénéficie en Suisse de l'aide sociale ne signifie pas qu'il serait incapable de travailler en Géorgie et, partant, de financer les médicaments dont il pourrait avoir besoin. Quoi qu'il en soit, il ne ressort pas du jugement attaqué qu'un médicament particulier serait nécessaire à la santé du recourant et que ce dernier pourrait en être privé. Le rapport médical du 16 octobre 2017 ne fait pas mention d'un besoin médicamenteux spécifique, mais essentiellement d'une nécessité de surveiller l'évolution des affections pulmonaires et hépatiques dont souffre ou a souffert l'intéressé. On ne voit pas en quoi le suivi médical en question ne lui serait pas accessible dans son pays d'origine. Peu importe, à cet égard, que les soins médicaux ne soient assurés que dans les centres urbains. On ne voit pas, en effet, ce qui empêcherait le recourant, une fois en Géorgie, de s'y rendre pour le suivi de ses affections.
En définitive, l'état de santé du recourant ne permet pas de considérer que son expulsion du territoire suisse le placerait dans une situation personnelle grave ou violerait l'art. 3 CEDH.
2.3.4. Le recourant se prévaut encore de l'art. 8 CEDH. On ne voit toutefois pas - compte tenu du défaut d'intégration sociale et professionnelle de celui-ci en Suisse ainsi que de l'absence, dans ce pays, de membres de sa famille ou d'autres relations pertinentes au sens de la jurisprudence - en quoi son expulsion du territoire suisse pourrait porter atteinte à son droit au respect de sa vie privée et familiale (cf. sur ce point les arrêts 6B_612/2018 du 22 août 2018 consid. 2.2; 6B_706/2018 du 7 août 2018 consid. 2.2 et les références citées).
2.4. Compte tenu de ce qui précède, une expulsion du territoire suisse pour une durée de cinq ans ne placerait pas le recourant dans une situation personnelle grave. A défaut de la réalisation de cette première condition cumulative, une application de l'art. 66a al. 2 CP ne saurait être envisagée.
L'argumentation du recourant concernant la gravité prétendument faible des infractions commises ou le peu de contacts dont il dispose-rait en Géorgie est donc dénuée de pertinence. Elle est irrecevable dans la mesure où elle consiste à conjecturer sur un risque d'incarcération dans son pays d'origine, celui-ci n'ayant pas été retenu par la cour cantonale, sans que le recourant ne démontre en quoi l'autorité précédente aurait versé dans l'arbitraire sur ce point (cf. art. 97 al. 1 LTF). Pour le reste, le recourant ne développe aucun grief recevable, fondé sur l'état de fait de la cour cantonale (cf. art. 105 al. 1 LTF) et étayé par une motivation répondant aux exigences découlant des art. 42 al. 2 et 106 al. 2 LTF, relatif à l'éventuelle violation d'une disposition conventionnelle.
3.
Le recourant fait grief à l'autorité précédente d'avoir violé l'art. 425 CPP en mettant à sa charge la moitié des frais judiciaires de première et deuxième instances. Il soutient qu'au vu de la précarité de sa situation financière, la cour cantonale aurait dû totalement renoncer à mettre de tels frais à sa charge.
3.1. Aux termes de l'art. 425 CPP, l'autorité pénale peut accorder un sursis pour le paiement des frais de procédure. Elle peut réduire ou remettre les frais compte tenu de la situation de la personne astreinte à les payer. Formulée comme une norme potestative, cette disposition laisse aux autorités pénales une large marge d'appréciation. Le Tribunal fédéral ne revoit donc l'application de cet article qu'avec retenue (arrêts 6B_814/2018 du 13 novembre 2018 consid. 3; 6B_820/2017 du 28 août 2017 consid. 4; 6B_500/2016 du 9 décembre 2016 consid. 3).
3.2. En l'espèce, la cour cantonale a tenu compte de la situation personnelle et financière précaire du recourant en laissant à la charge de l'Etat la moitié des frais judiciaires de première instance. Le recourant se borne, à cet égard, à rappeler qu'il ne dispose d'aucune fortune et vit grâce à l'aide sociale, ce qui ressort du jugement attaqué. On ne voit pas en quoi la cour cantonale aurait outrepassé son pouvoir d'appréciation en la matière, ni en conséquence violé le droit fédéral, en mettant une partie réduite des frais judiciaires à la charge du recourant, étant rappelé que le principe dans ce domaine consiste à faire supporter au prévenu condamné, respectivement à celui qui succombe en procédure de recours, les frais correspondants (cf. art. 426 al. 1 et 428 al. 1 CPP).
4.
Le recours doit être rejeté dans la mesure où il est recevable. Comme les conclusions du recourant étaient vouées à l'échec, l'assistance judiciaire ne peut être accordée (art. 64 al. 1 LTF). Le recourant devra supporter les frais judiciaires (art. 66 al. 1 LTF), dont le montant sera toutefois fixé en tenant compte de sa situation financière, laquelle n'apparaît pas favorable (art. 65 al. 2 LTF).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
La demande d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 1'200 fr., sont mis à la charge du recourant.
4.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 11 janvier 2019
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
Le Greffier : Graa